RetroHexChat
RetroHexChat

RetroHexChat

Opening chat...
Help — RetroHexChat

Bot Greeter Capability

Welcome newcomers to a channel: one short line the room sees the first time, and private lines that orient the newcomer alone.

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
visitor_greeting The visitor alone Each time the visitor opens the channel
farewell Depends on farewell_delivery On part

Setting them

/bot set <name> public_greeting <text>
/bot set <name> greeting <text>
/bot set <name> onboarding_1 <text>
/bot set <name> onboarding_2 <text>
/bot set <name> greeting_delivery private_notice
/bot set <name> onboarding_delivery private_notice
/bot set <name> greeter_repeat_window 43200
/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.

How a bot greets visitors

A visitor without an account can read a channel. They cannot join it or type in it. A visitor does not get greeting or onboarding_1 … onboarding_4. Nothing is said in the channel when a visitor arrives. Set visitor_greeting to welcome them. Only the visitor sees it. It is sent each time they open the channel. No bot greets visitors until it is set.

/bot set <name> visitor_greeting <text>

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.