Def job(): bot.send_message(тут id пользователя, ' Привет')
schedule.every(10).seconds.do(job) while True: schedule.run_pending() time.sleep(1)
В функции не удаётся указать message.chat.id, выдаёт ошибку. пробовал и в переменную присваивать, не помогает. только цифрами id пользователя можно. но где его брать? что делать? Как сделать, чтобы телеграм бот отправлял сообщение в определённые интервалы времени?
Человеку который с ним в чате. но я тут кажется понял, что в телеграмме так нельзя сделать (((
user49913
Просветленный
(38823)
так можно сделать, просто, возможно, не с этой библиотекой
я вижу проблему, что тебе нужно поддерживать два "вечных цикла" одновременно: один для schedule (рассылаем сообщения по таймеру), другой для telebot (обрабатываем входящие сообщения)
если так сделать, решение очевидно: как только нам приходит сообщение от юзера, заносим его id в какой-то общий для обоих "циклов" set, и следующее срабатывание таймера обнаружит этот id во множестве и отошлёт ему сообщение
проблема с двумя конкурентными циклами не решается на питоне без жутких костылей с этими двумя библиотеками, зато сравнительно легко решается, если знать и уметь в технологию asyncio
для телеги есть библиотека aiogram, для шедулинга, думаю, либо сам найдёшь, либо даже всё и так есть в стандартной поставке asyncio
bot.send_message(тут id пользователя, ' Привет')
schedule.every(10).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
В функции не удаётся указать message.chat.id, выдаёт ошибку. пробовал и в переменную присваивать, не помогает. только цифрами id пользователя можно. но где его брать?
что делать? Как сделать, чтобы телеграм бот отправлял сообщение в определённые интервалы времени?