Как реализовать регулярную отправку сообщения в определённое время используя библиотеку pyTelegramBotAPI?
Пишу бота для telegram используя библиотеку pyTelegramBotAPI.Хочу реализовать ежедневную отправку сообщения в определённое время.Сообщение будет содержать информацию о сегодняшним празднике. *Использовал beautifulsoup4
URL = 'https://calend.ru/day/'
source = requests.get(URL)
main_text = source.text
soup = BeautifulSoup(main_text)
mainL = soup.find('li', {'class': 'full'})
holiday = mainL.find('span', {'class': 'caption days_section'})
name = holiday.find('a').text
bot.send_message(message.chat.id, "Сегодня " + str(name))
Но как реализовать отправку этого сообщения регулярно?*В моём случае в 8:00 утра.
Ответы (1 шт):
Автор решения: nomnoms12
→ Ссылка
Для таких целей прекрасно подойдёт модуль schedule.
Пример:
import schedule
import time
def job():
...
schedule.every().day.at("08:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
А для того чтобы не прерывать выполнение основной программы, можно запустить цикл проверки в отдельном потоке или процессе с помощью стандартных библиотек threading и multiprocessing соответственно.