from telegram import Update
from telegram.ext import ContextTypes

from bot.core.logger import logger


async def group_mention(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    user = update.effective_user
    chat = update.effective_chat
    logger.info(
        "Bot mentioned in group chat_id=%s by user_id=%s",
        chat.id if chat else "unknown",
        user.id if user else "unknown",
    )


async def group_reply(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    msg = update.message
    if not msg or not msg.reply_to_message:
        return
    if msg.reply_to_message.from_user.id != context.bot.id:
        return

    user = update.effective_user
    logger.info(
        "Reply to bot in group chat_id=%s by user_id=%s",
        update.effective_chat.id,
        user.id if user else "unknown",
    )
