import re from config import * from akn.utils.base_sqlite import * from pyrogram.enums import MessageEntityType from pyrogram import Client, filters from akn.utils.prefixprem import command from akn.utils.handler import * from pyrogram.types import * def add_space_between_emojies(text): EMOJI_PATTERN = re.compile( "([" "\U0001F1E0-\U0001F1FF" # flags (iOS) "\U0001F600-\U0001F64F" # emoticons "])" ) return re.sub(EMOJI_PATTERN, r' \1 ', text) def is_premium_emoji(entities): """ Check if the message entities contain a premium custom emoji (MessageEntityType.CUSTOM_EMOJI). """ for entity in entities: if entity.type == MessageEntityType.CUSTOM_EMOJI: return True return False @Akeno( ~filters.scheduled & command(["setprefix"]) & filters.me & ~filters.forwarded ) async def set_prefix(client: Client, message: Message): user_id = message.from_user.id if not message.text or len(message.text.split()) < 2: await message.reply_text("Usage: ?setprefix custom emoji or None") return new_prefix_text = message.text.split(maxsplit=1)[1] if client.me.is_premium: if message.entities: for entity in message.entities: if entity.type == MessageEntityType.CUSTOM_EMOJI and entity.offset >= len(message.text.split()[0]) + 1: custom_emoji_id = entity.custom_emoji_id await set_prefix_in_db(user_id, custom_emoji_id) await message.reply_text(f"Custom emoji prefix set to: 🗿") return if new_prefix_text.lower() == "none": await set_prefix_in_db(user_id, "None") await message.reply_text("Prefix removed.") return await set_prefix_in_db(user_id, new_prefix_text) await message.reply_text(f"Prefix set to: {new_prefix_text}") module = modules_help.add_module("prefixes", __file__) module.add_command("setprefix", "Emoji or None.")