Обсуждение RetroHexChat

Возможность приветствия бота

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

Две половины

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

Справка
GitHub Лицензия (MIT)
6 объектов
GitHub Лицензия (MIT)
  • Восстановить
  • Минимизировать
  • Максимизировать
  • Закрыть
  • Cascade Windows
  • Обсуждение Windows Horizontally
  • Вертикальные окна
  • Минимизация всех Windows