RetroHexChat
RetroHexChat

RetroHexChat

Gesprek wordt geopend...
Help met RetroHexChat

Begroetingsfunctie van de bot

Verwelkom nieuwkomers in een kanaal: één korte regel die de ruimte de eerste keer ziet, en privéregels die alleen de nieuwkomer wegwijs maken.

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
visitor_greeting De bezoeker alleen Elke keer als de bezoeker het kanaal opent
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.

Hoe een bot bezoekers begroet

Een bezoeker zonder account kan een kanaal lezen. Ze kunnen niet meedoen of erin typen. Een bezoeker krijgt geen greeting of onboarding_1 … onboarding_4. Er wordt niets gezegd in het kanaal wanneer een bezoeker aankomt. Stel visitor_greeting in om ze te verwelkomen. Alleen de bezoeker ziet het. Het wordt elke keer verzonden als ze het kanaal openen. Geen bot begroet bezoekers totdat het is ingesteld.

/bot set <name> visitor_greeting <text>

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.

GitHub Licentie (MIT)