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)
    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',
                disable_web_page_preview=True
            ))
    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):
    pass