Telegram module #10

Merged
skobkin merged 19 commits from feature_telegram into master 2022-05-30 20:54:27 +00:00
Showing only changes of commit 882b4df5e1 - Show all commits

View file

@ -5,6 +5,7 @@ import validators
from database import Database
from exceptions import DisplayableException
from rss import FeedItem
class CommandProcessor:
@ -90,23 +91,23 @@ class Notifier:
def __init__(self, token: str):
self.bot: TeleBot = TeleBot(token)
def send_updates(self, chat_id: int, updates: list):
def send_updates(self, chat_id: int, updates: list[FeedItem]):
"""Send notification about new items to the user"""
for update in updates:
self.__send_update(chat_id, update)
def __send_update(self, chat_id: int, update):
def __send_update(self, telegram_id: int, update: FeedItem):
self.bot.send_message(
chat_id=chat_id,
text=self.__format_message(),
chat_id=telegram_id,
text=self.__format_message(update),
parse_mode='MarkdownV2'
)
@staticmethod
def __format_message(item) -> str:
def __format_message(item: FeedItem) -> str:
return (
f"**[{update['title']}]({update['url']})**\n\n"
f"{update['text']}"
f"**[{item.title}]({item.url})**\n\n"
f"{item.description}"
)