RetroHexChat
RetroHexChat

RetroHexChat

Открытие чата...
Справка — RetroHexChat

Функция приветствия бота

Приветствуйте новичков на канале: одна короткая строка, которую все в комнате видят при первом появлении новичка, и личные строки, которые вводят в курс дела только самого новичка.

Возможность приветствия встречает людей на канале. У приветствия две половины с разной аудиторией: одна короткая строка, которую читает вся комната, и личные строки, которые вводят новичка в курс дела так, что их больше никто не видит.

Две половины

Настройка Кто это читает Когда
public_greeting Все в канале Только в первый раз, когда этот бот встречает здесь этот ник
greeting Только новичок При каждом входе, который допускает окно повтора
onboarding_1 … onboarding_4 Только новичок При каждом входе, который допускает окно повтора
visitor_greeting Только посетитель Каждый раз, когда посетитель открывает канал
farewell Зависит от farewell_delivery При выходе

Как их задать

/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

Любая из них принимает none, чтобы её очистить. Очищенная строка пропускается, так что бот с одним лишь приветствием ведёт себя ровно как раньше. Вводные строки пронумерованы, а не добавляются в конец: если задать onboarding_2 дважды, она заменяется, и именно поэтому скрипт подготовки можно вставить больше одного раза.

Как бот приветствует посетителей

Посетитель без аккаунта может читать канал. Присоединиться к каналу или писать в нём они не могут. Посетитель не получает greeting или onboarding_1 … onboarding_4. Когда приходит посетитель, на канале ничего не говорится. Задайте visitor_greeting, чтобы приветствовать их. Его видит только посетитель. Отправляется каждый раз, когда они открывают канал. Пока бот не настроен, он не приветствует посетителей.

/bot set <name> visitor_greeting <text>

Доставка

Режим Действие
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. Публичную строку лучше уместить в одно предложение: это единственная часть приветствия, которую читает вся комната, и единственная, которая сохраняется. Всё, что новичку нужно узнать, относится к личной половине.

GitHub Лицензия (MIT)