Нужен таймер для телеграм-бота. Суть такова, что если пользователь не отправляет сообщение 1 час, то бот должен написать ему, в противном случае прервать цикл Код выглядит примерно так:
Проблема в том, что message.text не изменяется, даже если написать что-то в бота. Поэтому я без понятия как выйти из этого цикла. Помогите кто-нибудь python telegram-bot
Отслеживать
задан 12 апр 2022 в 10:19
Vladragone Vladragone
122 3 3 серебряных знака 12 12 бронзовых знаков
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Я бы предложил следующий подход для решения данной задачи.
Можно использовать библиотеку schedule . Документация находится здесь. После того как бот получает сообщение от пользователя нужно создать job примерно так:
Где CHAT-ID — ид чата с пользователем. В функции send_warning нужно реализовать отправку сообщения с текстом предупреждения.
Если сообщение от пользователя все же пришло, то нужно отменить job по тегу так: schedule.clear(‘CHAT-ID’)
Как отправить отложенное сообщение в Telegram (отправка сообщения по таймеру)
Ну и нужно создать фоновый поток для schedule.
UPD: У меня получился такой код:
Думаю, дальше можно адаптировать этот пример под Вашу задачу.
Источник: ru.stackoverflow.com
Инструкция как в телеграмме отправить отложенное сообщение и для чего оно нужно.
В Телеграмме существует функция «Отложенного сообщения». Она очень полезна для введения каналов, групп. С помощью её Вы сможете, почти не тратя своего личного времени радовать подписчиков. Как это работает? Вы пишите какое-то сообщение или же публикацию и далее выбираете время отправки. Когда наступает час, выбранный вами, то ваше сообщение отправляется. А как отправить сообщение в телеграмме по таймеру? Сейчас расскажем.
Как отправить «сообщение позже» на всех устройствах
На телефоне
- Заходим в свой канал. Пишем сообщение и удерживаем значок отправки (бумажный самолётик)
- В появившемся меню находим «Отправить позже». Выбираем время отправки и тапаем на кнопку «отправить (дата, время)»
На компьютер
- Включите мессенджер и зайдите в Ваш канал,чат. Напишите, что хотите опубликовать и нажмите на символ бумажного самолётика правой кнопкой мыши. Находим « отправить позже».
- Выбираем дату и время. Нажимаем левой кнопкой мыши на «запланировать».
На Web-версии Телеграмм всё делается точь в точь.
Редактирование отложенных сообщений
После отправки вашего сообщения с таймером Вы переходите в чат где сможете отредактировать ваше смс.
Для редактирования:
- Удерживайте сообщение.
- Выскачет меню. В нём выбирайте «Изменить время» или «Изменить» в зависимости от того, что Вы хотите поменять.
- Если хотите отменить смс, то выберете «Удалить» .
Настройки уведомлений
Для смс с таймером есть возможность отключать уведомления, что бы публикация не отвлекала абонентов, например поздно ночью.
- Заходим в наш канал.
- Нажимаем на три точки и в меню находим «Отключить уведомления».
Отправка сообщения позже. Без интернета
Данная функция в Telegramm может работать и без интернета. Если Вы хотите допустим написать товарищу важную информацию, но ваш интернет не работает, то просто добавьте в отложенные смс информацию. При подключении к сети оно отправиться автоматически.
Список идей для отложенного постинга
- Как говорилась в начале статьи данный вид постинга можно использовать для более быстрой публикации в своём канале, группе сохраняя личное время.
- Так же можно использовать для поздравления собеседников. То есть отложить сообщение с поздравлением на какой-то праздник (Новый год, день рождения и т.п.).
- Для приглашения на свидание, застолье, в гости.
В общем идей для применения множество главное подумать
Отправка отложенных смс. Через бота
Существует намного легкий, быстрый способ публикации контента (Работает этот способ только для каналов, групп). В Телеграмме есть боты, которые помогут с введением канала. А конкретно смогут отправлять за вас контент. И всё это совершенно бесплатно.
Просто надо загрузить своего бота нужной информацией, указать время публикации. Но сначала надо создать его.
В этом Вам помогут эти боты:
ControllerBot
FleepBot
BotFather
Для создания своего бота нужно:
- В строке поиска ввести название вышеперечисленных ботов.
- Зайти в него и нажать на «Старт»
- Написать команду или же выбрать в меню «/addchannel»
- Далее следовать выданной инструкции по созданию
Источник: telegramych.ru