De begroetingsfunctie verwelkomt mensen in een kanaal. Een welkom heeft twee helften met verschillend publiek: één korte regel die de hele ruimte leest, en de privéregels die de nieuwkomer wegwijs maken zonder dat iemand anders ze ziet.
De twee helften
| Instelling | Wie het leest | Wanneer |
|---|---|---|
public_greeting |
Iedereen in het kanaal | Alleen de eerste keer dat deze bot deze bijnaam hier tegenkomt |
greeting |
Alleen de nieuwkomer | Bij elke binnenkomst die het herhaalvenster toelaat |
onboarding_1 … onboarding_4
|
Alleen de nieuwkomer | Bij elke binnenkomst die het herhaalvenster toelaat |
farewell |
Hangt af van farewell_delivery | Bij vertrek |
Ze instellen
/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
Elk van deze accepteert none om hem te wissen. Een gewiste regel wordt overgeslagen, dus een bot met alleen een begroeting gedraagt zich precies als altijd. De welkomstregels zijn genummerd in plaats van aangevuld: onboarding_2 twee keer instellen vervangt hem, en dat is wat toelaat een provisioningscript meer dan eens te plakken.
Bezorging
| Modus | Effect |
|---|---|
public |
Een bericht in het kanaal. Het blijft in de geschiedenis. |
channel_notice |
Een notice in het kanaal. Het blijft in de geschiedenis. |
private_notice |
Een notice die alleen de nieuwkomer ziet, in de weergave van dat kanaal. Het blijft niet in de geschiedenis. |
silent |
Er wordt niets verstuurd. |
greeting_delivery geldt voor de begroeting; onboarding_delivery geldt voor de genummerde regels en valt terug op greeting_delivery als het niet is ingesteld. public_greeting is altijd openbaar — daar is het voor.
Wie als nieuw telt
De bot noteert wie hij in elk kanaal heeft verwelkomd, en die notitie overleeft een herstart. Iemand die hij nooit heeft ontmoet krijgt de openbare regel en de privéregels. Iemand die hij langer dan greeter_repeat_window seconden geleden ontmoette krijgt de privéregels opnieuw, maar de ruimte wordt het geen tweede keer verteld. Iemand die er net nog was krijgt niets.
Een herhaalvenster van 0 betekent dat er geen venster is: de privéregels gaan bij elke binnenkomst uit. De openbare regel gaat nog steeds één keer per persoon uit, voorgoed.
Plaatsaanduidingen
Elke regel accepteert {nickname} voor wie binnenkwam, {channel} voor de ruimte, {botname} voor de bot en {prefix} voor zijn commandoprefix. Regels accepteren ook de IRC-opmaakescapes: \c04 rood, \b vet, \o reset.
De ruimte leesbaar houden
Slechts één bot per kanaal zou moeten begroeten. Twee begroeters verwelkomen elke nieuwkomer twee keer, en daarom staat een bot die in elke ruimte staat op greeting none. Houd de openbare regel op één zin: het is het enige deel van een welkom dat de hele ruimte leest en het enige dat blijft. Alles wat een nieuwkomer moet leren hoort in de privéhelft.