|
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" |
|
"\U0001F600-\U0001F64F" |
|
"])" |
|
) |
|
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: <emoji id={custom_emoji_id}>๐ฟ</emoji>") |
|
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.") |
|
|