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.")
|