Заметки
Как отправлять несколько сообщений с задержкой в ОЛ
У цепочки сообщений с паузами есть условие, которое важнее самого таймера: продолжать ли отправку после ответа клиента или подключения оператора.
Храните цепочку отдельно от HTTP-запроса. Каждая запись содержит диалог, номер шага, время отправки и состояние. Перед следующим шагом воркер проверяет актуальность цепочки; ответ клиента или завершение сессии может её отменить.
Метод отправки выбирают по роли отправителя. Бот, оператор и собственный коннектор используют разные механизмы. Наличие CHAT_ID ещё не означает, что обычный im.message.add отправит текст внешнему клиенту нужным способом.
Для простого напоминания может хватить штатной автоматизации. Своя очередь нужна, когда требуются отмена, управляемые повторы и несколько шагов. Базовый принцип отложенной отправки показан в заметке о таймере бота; для открытой линии к нему добавляется состояние сессии.