setting it up
- on the dashboard
- in discord
open the dashboard, pick your server and go to greetings. each of the five has its own switch, a channel (the join dm has none), the message, plain text or a card script starting with
{embed}, and how long before it’s deleted. for the join ping, 0 uses the five second default.variables
,welcome variables prints the list in discord. two spellings work: the dotted {user.mention} and the flat {user_name}, so a message pasted from another bot needs no editing.
an unknown variable is left on screen exactly as you typed it, so a typo is visible rather than silently blank. write
{{user}} to show a variable without using it.
embed scripts
a message starting with{embed} is a script: { opens a parameter, : splits its name from its content, $v separates parameters, and && splits the parts of the ones that take two. it is the grammar most bots in this category read, so a script moves between them unchanged.
message, title, url (makes the title a link), description, color, image, images (a gallery, up to ten), thumbnail, author, footer, field, button, timestamp, banner, icon, section, and rule or space on their own. one it does not know is ignored rather than refused, so a script written elsewhere still sends.
most parameters are drawn where they always go, the title at the top, the footer at the bottom. fields and dividers are the exception: those are drawn in the order you wrote them, so a long card can be broken into sections.
{rule} draws a line across the card and {space} leaves the gap without one. {timestamp} puts the time beside the footer, on each reader’s own clock rather than yours.
the parts an embed has no word for
drain draws a container, not an embed, so three parameters are drain’s own:{button: label && url && emoji} takes an emoji as a third part too. a picture that is not a link is left out rather than drawn wrong.
,social feed edit command.
drain draws these with discord’s newer components, not a classic embed, so the same script comes out with an accent rail, real text blocks and a proper media gallery.
what it will not do
- it never pings a role or everyone. only the person who arrived is mentioned, whatever the message says.
- it goes quiet during a raid. past ten joins in ten seconds greetings stop, because a greeting per join is a raid’s own amplifier.
- a greeting with no message never sends. a channel on its own does nothing, and
,welcomesays so rather than looking configured.

