diff --git a/app/reminder.py b/app/reminder.py
index 61c7ea1..368cea9 100644
--- a/app/reminder.py
+++ b/app/reminder.py
@@ -1,22 +1,26 @@
""" Schedule holidays. """
-
from schedule import repeat, every, get_jobs, run_pending
import time
from threading import Thread
from datetime import datetime as dt
import csv
-from .config import PYTHONCHATRU, bot
+from .config import PYTHONCHATRU, TOKEN
from . import report
+from telebot import TeleBot
+
+# We need synchronous instance of bot here as we use synchronous library 'schedule' in a separate thread.
+bot = TeleBot(TOKEN, "HTML", disable_web_page_preview=True, allow_sending_without_reply=True)
def scheduler():
+ """Main loop of schedule library."""
while True:
run_pending()
- time.sleep(300)
+ time.sleep(60)
@repeat(every().day.at("07:00"), PYTHONCHATRU, None)
-async def remind(chat_to_repeat, today):
+def remind(chat_to_repeat, today):
"""Remind holiday."""
if not today:
today = dt.today()
@@ -33,18 +37,20 @@ async def remind(chat_to_repeat, today):
if date.year != 1000:
age = today.year - date.year
notification += f"\n\n🥳 {age}-ая годовщина"
- await bot.send_message(chat_to_repeat, notification)
+ bot.send_message(chat_to_repeat, notification)
@repeat(every().day.at("06:00"), PYTHONCHATRU)
-async def stat_report(chat_to_repeat):
+def stat_report(chat_to_repeat):
+ """Everyday group statistic info."""
rep = report.create_report_text(PYTHONCHATRU)
if rep:
- await bot.send_message(chat_to_repeat, rep)
+ bot.send_message(chat_to_repeat, rep)
report.reset_report_stats(PYTHONCHATRU)
def print_get_jobs():
+ """Get jobs from schedule and prepare a formatted info text."""
all_jobs = get_jobs()
text = f"{len(all_jobs)} jobs\
\n..:: {dt.now().strftime('%d-%m-%Y %H:%M:%S')} ::..\n"