from telethon import TelegramClient
from telethon.tl.functions.messages import GetStickerSetRequest
from telethon.tl.types import (
    InputStickerSetShortName,
    MessageEntityCustomEmoji
)
import asyncio

api_id = 29007504
api_hash = "877e958822f299acd9d72729b9507cd2"
session_name = "my_session"

channel_id = "aliswlogin"

async def get_and_send_emojis():
    async with TelegramClient(session_name, api_id, api_hash) as client:
        await client.start()

        # دریافت آخرین پیام از کانال
        messages = await client.get_messages(channel_id, limit=1)
        if not messages or not messages[0].entities:
            print("❌ هیچ پیام یا ایموجی سفارشی یافت نشد.")
            return

        last_message = messages[0]
        custom_emojis = []
        message_text = ""
        entities = []
        offset = 0

        # استخراج ایموجی‌های سفارشی از پیام
        for entity in last_message.entities:
            if isinstance(entity, MessageEntityCustomEmoji):
                # اضافه کردن ایموجی و شناسه سند آن در خط جدید
                message_text += f"⭐ \nDocument ID: {entity.document_id}\n\n"
                entities.append(MessageEntityCustomEmoji(
                    offset=offset,
                    length=1,
                    document_id=entity.document_id
                ))
                offset += len(f"⭐ \nDocument ID: {entity.document_id}\n\n")  # بروزرسانی آفست با توجه به طول متن جدید

        if not entities:
            print("❌ هیچ ایموجی سفارشی در آخرین پیام یافت نشد.")
            return

        # ارسال ایموجی‌ها به کانال
        await client.send_message(channel_id, message_text.strip(), formatting_entities=entities)
        print("✅ ایموجی‌های سفارشی از آخرین پیام استخراج و ارسال شدند.")

asyncio.run(get_and_send_emojis())
