Funkcja powitań wita osoby wchodzące na kanał. Powitanie ma dwie części dla różnych odbiorców: jedną krótką linijkę, którą czyta cały pokój, oraz linijki prywatne, które wprowadzają nową osobę, a których nikt inny nie widzi.
Dwie części
| 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 widzi | Przy każdym dołączeniu, na które pozwala okno powtórzenia |
onboarding_1 … onboarding_4
|
Tylko nowa osoba widzi | Przy każdym dołączeniu, na które pozwala okno powtórzenia |
visitor_greeting |
Tylko odwiedzający | Za każdym razem, gdy odwiedzający otwiera kanał |
farewell |
Zależy od farewell_delivery | Przy wyjściu |
Jak je ustawić
/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
Każda z nich przyjmuje none, aby ją wyczyścić. Wyczyszczona linijka jest pomijana, więc bot z samym powitaniem zachowuje się dokładnie tak jak zawsze. Wiadomości powitalne są numerowane, a nie dopisywane: dwukrotne ustawienie onboarding_2 zastępuje ją, dzięki czemu skrypt konfiguracyjny można wkleić więcej niż raz.
Jak bot wita odwiedzających
Gość bez konta może czytać kanał. Nie może do niego dołączyć ani w nim pisać. Odwiedzający nie otrzymuje greeting ani onboarding_1 … onboarding_4. Na kanale nic nie jest mówione, gdy pojawia się odwiedzający. Ustaw visitor_greeting, aby ich witać. Widzi ją tylko odwiedzający. Jest wysyłana za każdym razem, gdy otwiera kanał. Żaden bot nie wita odwiedzających, dopóki nie zostanie to ustawione.
/bot set <name> visitor_greeting <text>
Doręczanie
| Tryb | Efekt |
|---|---|
public |
Wiadomość na kanale. Zostaje w historii. |
channel_notice |
Notatka na kanale. Zostaje w historii. |
private_notice |
Notatka widoczna tylko dla nowej osoby, w widoku tego kanału. Nie zostaje w historii. |
silent |
Nic nie jest wysyłane. |
greeting_delivery dotyczy powitania; onboarding_delivery dotyczy linijek numerowanych i gdy nie jest ustawione, używa greeting_delivery. 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. Osoba, której bot jeszcze nie spotkał, dostaje linijkę publiczną i prywatne. Osoba spotkana dawniej niż greeter_repeat_window sekund temu dostaje ponownie tylko prywatne, a pokój nie jest informowany drugi raz. Osoba, która dopiero co tu była, nie dostaje nic.
Okno powtórzenia równe 0 oznacza brak okna: prywatne linijki wychodzą przy każdym dołączeniu. Publiczna linijka nadal wychodzi tylko 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 czatu
Tylko jeden bot na kanale powinien witać. Dwa boty witające witają każdą nową osobę dwa razy, dlatego bot obecny w każdym pokoju ma ustawione greeting none. Publiczną linijkę ogranicz do jednego zdania: to jedyna część powitania, którą czyta cały pokój, i jedyna, która zostaje. Wszystko, czego nowa osoba musi się dowiedzieć, należy do części prywatnej.