from telethon import TelegramClient
from telethon.tl.types import MessageEntityCustomEmoji
import asyncio

api_id = 29007504
api_hash = "877e958822f299acd9d72729b9507cd2"
session_name = "my_session"

channel_id = "aliswlogin"

async def send_custom_message():
    async with TelegramClient(session_name, api_id, api_hash) as client:
        await client.start()

        # متن پیام بدون ایموجی‌ها
        message_text = (
            "تیگو 7 پرو پریمیوم | Tiggo 7 Pro Premium\n\n"
            " مدل: 1402\n"
            " رنگ: سفید\n"
            " کارکرد: 10 هزار کیلومتر\n"
            " قیمت: 1 میلیارد و 830 میلیون تومان\n\n"
            " برای پیام دادن در واتساپ [اینجا کلیک کنید](https://wa.me/989379037799) \n\n"
            " برای عضو شدن در کانال واتساپ [اینجا کلیک کنید](https://whatsapp.com/channel/0029VaqXcxrHQbS72MxLCr0v) \n\n"
            " برای پیام دادن در تلگرام [اینجا کلیک کنید](https://t.me/dianatdar_khodro) \n\n"
            " تلفن تماس: 09371408833\n\n"
            " دپارتمان خودرویی دیانت دار "
        )

        # لیست موقعیت‌ها و داکیومنت آیدی‌ها
        emoji_positions = [
            (message_text.find("مدل"), 5208801655004350721),  # ⭐
            (message_text.find("رنگ"), 5429619972529736627),  # 🎨
            (message_text.find("کارکرد"), 5224257782013769471),  # 📏
            (message_text.find("قیمت"), 5334998226636390258),  # 💰
            (message_text.find("برای پیام دادن در واتساپ"), 5330237710655306682),  # 📱
            (message_text.find("برای عضو شدن در کانال"), 5330237710655306682),  # 📱
            (message_text.find("برای پیام دادن در تلگرام"), 5330237710655306682),  # 📱
            (message_text.find("تلفن تماس"), 5330320040883411678),  # 📞
            (message_text.find("دپارتمان"), 5253507424127557691),  # 🗺
            (message_text.rfind("دیانت دار"), 5253507424127557691)  # 🗺
        ]

        entities = []
        offset_adjustment = 0

        # ایجاد entities و اضافه کردن ایموجی‌ها به متن
        for pos, doc_id in emoji_positions:
            adjusted_pos = pos + offset_adjustment
            message_text = message_text[:adjusted_pos] + "⭐" + message_text[adjusted_pos:]
            entities.append(MessageEntityCustomEmoji(
                offset=adjusted_pos,
                length=1,
                document_id=doc_id
            ))
            offset_adjustment += 1

        # ارسال متن با ایموجی‌های سفارشی
        await client.send_message(channel_id, message_text, formatting_entities=entities)
        print("✅ پیام با ایموجی‌های کاستوم ارسال شد.")

asyncio.run(send_custom_message())
