Возможность приветствия встречает людей в канале. У приветствия две половины с разной аудиторией: одна короткая строка, которую читает вся комната, и личные строки, которые помогают новичку так, что их больше никто не видит.
Две половины
| Настройка | Кто это читает | Когда |
|---|---|---|
public_greeting |
Все в канале | Только в первый раз, когда этот бот встречает здесь этот ник |
greeting |
Только новичок | При каждом входе, который допускает окно повтора |
onboarding_1 … onboarding_4
|
Только новичок | При каждом входе, который допускает окно повтора |
farewell |
Зависит от farewell_delivery | При выходе |
Как их задать
/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
Любая из них принимает none, чтобы её очистить. Очищенная строка пропускается, так что бот с одним лишь приветствием ведёт себя ровно как раньше. Вводные строки пронумерованы, а не добавляются в конец: задать onboarding_2 дважды означает заменить её, и именно это позволяет вставить скрипт подготовки больше одного раза.
Доставка
| Режим | Действие |
|---|---|
public |
Сообщение в канале. Оно остаётся в истории. |
channel_notice |
Уведомление в канале. Оно остаётся в истории. |
private_notice |
Уведомление, которое видит только новичок, в окне этого канала. Оно не остаётся в истории. |
silent |
Ничего не отправляется. |
greeting_delivery отвечает за приветствие; onboarding_delivery отвечает за пронумерованные строки и откатывается к greeting_delivery, когда не задан. public_greeting всегда публично — для того оно и есть.
Кто считается новичком
Бот записывает, кого он уже встретил в каждом канале, и эта запись переживает перезапуск. Тот, кого он никогда не встречал, получает публичную строку и личные. Тот, кого он встречал больше greeter_repeat_window секунд назад, снова получает личные, но комнате об этом не говорят второй раз. Тот, кто только что был здесь, не получает ничего.
Окно повтора, равное 0, означает, что окна нет: личные строки уходят при каждом входе. Публичная строка по-прежнему уходит один раз на человека, навсегда.
Подстановки
Каждая строка принимает {nickname} для того, кто вошёл, {channel} для комнаты, {botname} для бота и {prefix} для его префикса команд. Строки также принимают escape-последовательности форматирования IRC: \c04 красный, \b жирный, \o сброс.
Как сохранить комнату читаемой
Приветствовать должен только один бот на канал. Двое приветствующих встречают каждого новичка дважды, и поэтому у бота, который стоит в каждой комнате, задано greeting none. Держите публичную строку в одном предложении: это единственная часть приветствия, которую читает вся комната, и единственная, которая остаётся. Всё, что новичку нужно узнать, относится к личной половине.