Задать вопрос
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 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 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 определяется один раз, ДО цикла. Ты ожидаешь, что оно волшебным образом будет следовать за текущим временем?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
26 дек. 2024, в 14:50
2000 руб./за проект
26 дек. 2024, в 14:40
15000 руб./за проект
26 дек. 2024, в 14:27
100000 руб./за проект