Kavensky
@Kavensky

Почему не происходит отправка сообщений ботом в установленное время?

Есть код для telegram-бота, код компилируется, но сообщение бот не определяет

Пример кода

import telebot
import time
from datetime import datetime

bot = telebot.TeleBot("токен бота")

now = datetime.now()
current_time = now.strftime("%H:%M")

while True:
    time.sleep(1)
    if current_time == '12:00':
        bot.send_message('тут id чата с ботом', 'Привет - это регулярное напоминание от бота!')

        bot.infinity_polling()
  • Вопрос задан
  • 142 просмотра
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Потому что метод infinity_polling - это бесконечный цикл, его вызов блокирует вызывающую сторону и следующих итераций цикла while True никогда не происходит.
Ответ написан
Комментировать
HemulGM
@HemulGM Куратор тега Python
Delphi Developer, сис. админ
Запускай отдельный поток и в нём свой цикл
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
if current_time == '12:00':
У тебя значение current_time определяется один раз, ДО цикла. Ты ожидаешь, что оно волшебным образом будет следовать за текущим временем?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы