Напоминания и AFK
Один модуль на две вещи, и мысль у них одна: бот пишет человеку только тогда, когда человек об этом попросил.
Напоминания
Когда использовать
- Не забыть про событие через два часа.
- Напомнить каналу о еженедельном сборе.
- Отметить срок, о котором иначе вспомнит только календарь.
Куда приходит
| Вид | Кому | Право |
|---|---|---|
| В личные сообщения | Тому, кто поставил | Любой участник |
| В канал | Всем, кто читает канал | reminders.manage |
Себе напоминание ставит любой участник и без особых прав.
Срок и повторение
Отсрочка — от минуты до года. Повторение задаётся не строкой cron, а явной формой:
| Форма | Пример |
|---|---|
| Один раз | Через 2 часа |
| Каждые N минут | Каждые 90 минут (от 5 минут до 30 суток) |
| Каждый день | Каждый день в 20:00 |
| Каждую неделю | По вторникам и четвергам в 19:00 |
| Каждый месяц | 1-го числа в 10:00 |
Часовой пояс
Всё считается в часовом поясе сервера. «Каждый день в 20:00» — это 20:00 там, где живёт сообщество, а не в UTC. Часовой пояс задаётся в настройках сервера в панели; если его не менять, время будет считаться по значению по умолчанию, и «восемь вечера» окажется не тем.
Пределы
| Что | Сколько |
|---|---|
| Активных напоминаний у участника | 25 |
| Активных напоминаний на сервере | 500 |
Состояния
«Активно», «выполнено», «отменено» и «доставить не удалось» — последнее означает, что личные сообщения закрыты или канал недоступен, и попытки исчерпаны.
AFK
Статус «меня нет, вот причина», который участник ставит себе сам и снимает первым же своим сообщением. Когда такого человека упоминают, Kizora отвечает, что он отошёл, — но не чаще, чем раз в заданный промежуток, чтобы не спамить в живом обсуждении.
Серверный AFK — это не отпуск Family RP. Отпуск — согласованное отсутствие со сроком и правами; здесь одна строка про себя.
Права
- Kizora:
reminders.manage— напоминания в канал и снятие чужих. - Discord у бота: Отправка сообщений.
Что происходит при ошибке
Отправка идёт по правилу «сначала занять период, потом отправить»: если процесс упал между отправкой и подтверждением, напоминание не придёт вторым экземпляром. Если личные сообщения закрыты, напоминание помечается недоставленным, а не теряется молча.
Частые проблемы
- Напоминание пришло не в то время. Проверьте часовой пояс сервера.
- Не приходит в личные. У вас закрыты личные сообщения от участников сервера.
- AFK не снимается. Он снимается вашим следующим сообщением на сервере, не в личных.