Как сказать телеграм-боту слать сообщения каждый час?
Нужно сделать чтобы бот присылал сообщения каждому кто им пользуется каждый час-два, главное чтобы с каким то промежутком во времени, точная цифра не важна
Пишу на python 3 с библиотекой Telebot, пока что мой мозг дошёл до того, чтобы получать datetime.now() складывать его с числом равным 1 часу с помощью timedelta и всё
Собственно понять не могу вот что, для поставленной задачи нужно это всё сунуть в какой то вечный цикл, который будет это всё проверять? Или в api телеграма или телеботе есть что-то, что может помочь мне с моим вопросом?
Раз в час запускайте скрипт и отправляйте сообщение, особого смысла нет держать процесс с одним слип в час.
Ну или while(true) sleep(1hour) and send messages
Список пользователей уже имеется?
С Sharp: просто ещё получается, что для всех этот час будет в разное время, кто знает когда они первый раз там кнопку нажмут, а это вроде как не есть хорошо. Была мысль сделать так чтобы пользователь мог при настройке бота сам поставить промежуток временной и оно ему приходило с этим промежутком, но опять же не знаю как.
Или это вообще значения не имеет?
С Sharp: получается да, ну то есть вы зашли в час дня, нажали старт, отсчёт пошёл, кинули ссылку другу, он зашёл в 14:50, для него отсчёт тоже пошёл, вот и получается, что сообщения будут приходить вам в 15, 16 итд, а ему в 15:50, 16:50 и далее
i_surin:
1. нужно писать куда-то время последней отправки для каждого юзера(в базу или файл)
2. самый простой вариант
while(true)
{
sleep(1min-10min)
check_who wait_greatthen_1hour.send_message_and_save_time
}
Время нужно сохранять на всякий случай,чтобы можно было перезапустить скрипт и восстановить время.