File size: 2,047 Bytes
21bc372
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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: <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.")