Funkcja powitania wita ludzi na kanale. Powitanie ma dwie połowy z różną publicznością: jedną krótką linijkę, którą czyta cały pokój, i prywatne linijki, które kierują nową osobę tak, że nikt inny ich nie widzi.
Dwie połowy
| Ustawienie | Kto to czyta | Kiedy |
|---|---|---|
public_greeting |
Wszyscy na kanale | Tylko za pierwszym razem, gdy ten bot spotyka tu ten pseudonim |
greeting |
Tylko nowa osoba | Przy każdym wejściu, na które pozwala okno powtórzenia |
onboarding_1 … onboarding_4
|
Tylko nowa osoba | Przy każdym wejściu, na które pozwala okno powtórzenia |
farewell |
Zależy od farewell_delivery | Przy wyjściu |
Jak je ustawić
/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
Każda z nich przyjmuje none, aby ją wyczyścić. Wyczyszczona linijka jest pomijana, więc bot mający tylko powitanie zachowuje się dokładnie tak jak zawsze. Wiadomości powitalne są numerowane, a nie dopisywane: ustawienie onboarding_2 dwa razy zastępuje ją, i to właśnie pozwala wkleić skrypt konfiguracyjny więcej niż raz.
Dostarczanie
| Tryb | Efekt |
|---|---|
public |
Wiadomość na kanale. Zostaje w historii. |
channel_notice |
Powiadomienie na kanale. Zostaje w historii. |
private_notice |
Powiadomienie, które widzi tylko nowa osoba, w widoku tego kanału. Nie zostaje w historii. |
silent |
Nic nie jest wysyłane. |
greeting_delivery obejmuje powitanie; onboarding_delivery obejmuje linijki numerowane i wraca do greeting_delivery, gdy nie jest ustawione. public_greeting jest zawsze publiczne — po to właśnie jest.
Kto liczy się jako nowy
Bot zapisuje, kogo powitał na każdym kanale, i ten zapis przetrwa restart. Ktoś, kogo nigdy nie spotkał, dostaje linijkę publiczną i prywatne. Ktoś spotkany dawniej niż greeter_repeat_window sekund temu dostaje prywatne ponownie, ale pokojowi nie mówi się o tym drugi raz. Ktoś, kto właśnie tu był, nie dostaje nic.
Okno powtórzenia równe 0 oznacza, że okna nie ma: prywatne linijki wychodzą przy każdym wejściu. Publiczna linijka nadal wychodzi raz na osobę, na zawsze.
Symbole zastępcze
Każda linijka przyjmuje {nickname} dla osoby, która weszła, {channel} dla pokoju, {botname} dla bota i {prefix} dla jego prefiksu poleceń. Linijki przyjmują też escape'y formatowania IRC: \c04 czerwony, \b pogrubienie, \o reset.
Utrzymanie czytelności pokoju
Tylko jeden bot na kanale powinien witać. Dwóch witających wita każdą nową osobę dwa razy, i dlatego bot stojący w każdym pokoju ma greeting none. Trzymaj publiczną linijkę w jednym zdaniu: to jedyna część powitania, którą czyta cały pokój, i jedyna, która zostaje. Wszystko, czego nowa osoba musi się nauczyć, należy do prywatnej połowy.