Дни рождения
Команда -др для команды чата - поздравления в чате, время отправки, автооткреп и автоудаление.
Бот сам следит за датами участников. В назначенное время он отправляет в чат поздравление, закрепляет его и напоминает об именинниках в админ-чате, а позже открепляет поздравление и, если нужно, удаляет. Всё это работает с первого дня, поздравления включены, а время отправки стоит на 09:00 по часовому поясу чата.
Настройки живут в одной команде -др с уточняющим словом. Личная дата рождения и приватность это отдельная история, про них написано в разделе день рождения.
-др настройкиПоказывает, как настроены поздравления в этом чате
-др статус-деньрождения настройки/birthday settings
В ответе видно, включены ли поздравления, в какое время и по какому часовому поясу они уходят, отправляется ли сообщение в чат и напоминание в админ-чат, через сколько поздравление открепляется и удаляется. Ниже бот перечислит все действия, чтобы не держать их в голове.
Одно слово меняет смысл команды: -др без уточнения это личная команда участника, она сохраняет его собственную дату. Настройки чата открываются только со словом: настройки, вкл, выкл, время, откреп, удаление.
Включить и выключить поздравления
При включении бот сразу напомнит время отправки и скажет, сколько дат он знает в этом чате. Если дату не указал ещё никто, он предупредит, что поздравлять пока некого.
Выключение ничего не стирает. Время, откреп и автоудаление сохранятся и снова заработают, когда поздравления включат обратно.
Время отправки
[параметр] — необязательныйВремя можно записать по-разному: -др время 09:30, -др время 21:00, -др время 9, -др время 9 утра, -др время 9pm. Без аргумента команда просто покажет текущее значение и напомнит, сколько дат есть в чате.
Отсчёт идёт по часовому поясу чата, он задаётся в настройках. Об изменении бот отметит в админ-чате, чтобы остальная команда видела, кто перевёл поздравления на другой час.
Каждого именинника бот поздравляет один раз в день. Если в нужную минуту он был недоступен, поздравление уйдёт позже в тот же день, так что дата не потеряется.
Куда приходит поздравление
Сообщение в чат и напоминание в админ-чат переключаются по отдельности, в панели -настройки → «Модули» → «Дни рождения». Там же кнопками задаются срок открепления и автоудаление, если удобнее не набирать команды.
Поздравление в чате бот закрепляет, участники получат уведомление о новом закрепе. Если права закреплять сообщения у бота нет, поздравление просто останется в чате без закрепа. Когда в один день празднуют несколько человек, бот отправит одно поздравление и перечислит всех.
Напоминание в админ-чат приходит списком именинников на сегодня и работает только при подключённом админ-чате. Если выключить и сообщение в чат, и напоминание, поздравлять будет некуда, и бот промолчит.
Автооткреп
[параметр] — необязательныйЗакреплённое поздравление открепляется через сутки, срок можно поменять: -др откреп 12ч. Достаточно указать срок, автооткреп включится сам. Число без единицы измерения бот считает минутами, максимум 7 дней, остальные форматы описаны в правилах команд.
Без срока команда покажет текущее состояние. С выкл поздравления останутся закреплёнными, пока их не открепят вручную.
Автоудаление
[параметр] — необязательныйПо умолчанию поздравления остаются в чате. -др удаление 6ч уберёт поздравление через 6 часов после отправки, а -др удаление вкл вернёт последний заданный срок или поставит сутки, если срока ещё не было.
Откреп и удаление друг от друга не зависят: можно удалять, не открепляя, удалённое сообщение исчезнет вместе с закрепом.
Телеграм разрешает боту удалять свои сообщения только первые 48 часов. Больший срок бот примет и предупредит, что сработать он может не всегда.
Свой текст поздравления
Стандартный текст бота можно заменить своим:
<параметр> — обязательныйТекст можно написать сразу в команде или отправить её ответом на готовое сообщение, тогда бот возьмёт его вместе с форматированием. Внутри работает подстановка {имя}: на её место встанет именинник, а если их несколько, бот перечислит всех. Перед сохранением он покажет предпросмотр с кнопками, и после подтверждения текст начинает работать сразу.
-тексты поздравление без текста покажет текущее поздравление, а -тексты поздравление удалить вернёт стандартное. Для этой команды нужен доступ к текстам чата.
Откуда бот берёт даты
Участники указывают дату сами командой -др, и она работает во всех чатах с ботом. Приватность сильнее настроек чата: если человек скрыл дату ото всех, бот не поздравит его и не покажет в списках. Если дата видна только в другом чате, здесь бот на неё не смотрит.
Когда чат связан с информационным каналом, бот дополнительно берёт даты из списка дней рождения в канале. Собственная дата участника при этом в приоритете.
Проверить, у кого дата уже есть, можно командой -дры: она покажет ближайшие дни рождения в чате.