from html import escape
from typing import List
from pyrogram.types import Message, InlineKeyboardMarkup, InlineKeyboardButton

import app

class DeleteHandler:
    async def delete_handler(self: "app.App", _, messages: List[Message]):
        for message in messages:
            get_seen = await self.database.get_seen(chat_id=message.chat.id, msg_id=message.id, status=0)

            if not get_seen:
                continue

            get_banner = await self.database.get_banner(tag=get_seen.banner_tag, status=0)

            if not get_banner:
                continue

            markup = InlineKeyboardMarkup(
                [
                    [
                        InlineKeyboardButton(text='❌ لغو', callback_data=f"send_again|{get_seen.tag}|cancel")
                    ],
                    [
                        InlineKeyboardButton(text='✅ تایید', callback_data=f"send_again|{get_seen.tag}|verify")
                    ]
                ]
            )

            try:
                await self.client.send_message(
                    chat_id=get_seen.user_id,
                    text=f"🛡 بنر <b>{escape(get_banner.banner_name)}</b> از کانال <b>{message.chat.title}</b> حذف شد، آیا مایل به <b>ارسال دوباره</b> آن هستید؟",
                    reply_markup=markup
                )
            except:
                pass
