The Greeter capability welcomes people into a channel. A welcome has two halves with different audiences: one short line the whole room reads, and the private lines that orient the newcomer without anyone else seeing them.
The two halves
| Setting | Who reads it | When |
|---|---|---|
public_greeting |
Everyone in the channel | Only the first time this bot meets this nickname here |
greeting |
The newcomer alone | Every join the repeat window allows |
onboarding_1 … onboarding_4
|
The newcomer alone | Every join the repeat window allows |
farewell |
Depends on farewell_delivery | On part |
Setting them
/bot set <name> public_greeting <text>\n/bot set <name> greeting <text>\n/bot set <name> onboarding_1 <text>\n/bot set <name> onboarding_2 <text>\n/bot set <name> greeting_delivery private_notice\n/bot set <name> onboarding_delivery private_notice\n/bot set <name> greeter_repeat_window 43200\n/bot set <name> farewell none
Any of them takes none to clear it. A cleared line is skipped, so a bot with only a greeting behaves exactly as it always did. Onboarding is numbered rather than appended: setting onboarding_2 twice replaces it, which is what lets a provisioning script be pasted more than once.
Delivery
| Mode | Effect |
|---|---|
public |
A message in the channel. It is kept in the history. |
channel_notice |
A notice in the channel. It is kept in the history. |
private_notice |
A notice only the newcomer sees, in that channel's view. It is not kept in the history. |
silent |
Nothing is sent. |
greeting_delivery covers the greeting; onboarding_delivery covers the numbered lines and falls back to greeting_delivery when it is not set. public_greeting is always public — that is what it is for.
Who counts as new
The bot records who it has welcomed into each channel, and that record survives a restart. Somebody it has never met gets the public line and the private ones. Somebody it met longer ago than greeter_repeat_window seconds gets the private ones again, but the room is not told twice. Somebody who was just here gets nothing.
A repeat window of 0 means there is no window: the private lines go out on every join. The public line still goes out once per person, ever.
Placeholders
Every line accepts {nickname} for whoever joined, {channel} for the room, {botname} for the bot and {prefix} for its command prefix. Lines also accept the IRC formatting escapes: \c04 red, \b bold, \o reset.
Keeping a room readable
Only one bot per channel should greet. Two greeters welcome every newcomer twice, which is why a bot that stands in every room is set to greeting none. Keep the public line to one sentence: it is the only part of a welcome the whole room reads and the only part that persists. Everything a newcomer needs to learn belongs in the private half.