diff --git a/app/telegrambot/rpc.py b/app/telegrambot/rpc.py index 899cda3..fa42598 100644 --- a/app/telegrambot/rpc.py +++ b/app/telegrambot/rpc.py @@ -1,25 +1,33 @@ import asyncio +import logging import telegram from django.conf import settings +logger = logging.getLogger(__name__) + def send(msg, to=None, channel=None, preview_url=None, preview_title=None, preview_description=None, preview_image=None): bot = telegram.Bot(token=settings.TELEGRAM_TOKEN) - if preview_image: - asyncio.run(bot.send_photo( - chat_id=channel, - caption=msg, - photo=preview_image, - parse_mode='html' - )) - else: - asyncio.run(bot.send_message( - chat_id=channel, - text=msg, - parse_mode='html' - )) + try: + if preview_image: + asyncio.run(bot.send_photo( + chat_id=channel, + caption=msg, + photo=preview_image, + parse_mode='html' + )) + else: + asyncio.run(bot.send_message( + chat_id=channel, + text=msg, + parse_mode='html' + )) + except: + logger.error("failed to send message to telegram: %s", msg, exc_info=True) + return False + return True def send_reaction(target_address, target_ts, emoji, to=None, group=None, remove=False):