mirror of
https://github.com/TeamPGM/PagerMaid_Plugins_Pyro.git
synced 2024-11-25 08:34:49 +00:00
48 lines
1.6 KiB
Python
48 lines
1.6 KiB
Python
from typing import Optional
|
|
|
|
from pyrogram.enums import MessageEntityType
|
|
from pyrogram.raw.functions.account import UpdateEmojiStatus
|
|
from pyrogram.raw.types import EmojiStatus
|
|
|
|
from pagermaid.listener import listener
|
|
from pagermaid.enums import Client, Message
|
|
|
|
|
|
async def get_custom_emojis(message: Message) -> Optional[int]:
|
|
if not message:
|
|
return None
|
|
if message.entities:
|
|
for entity in message.entities:
|
|
if entity.type == MessageEntityType.CUSTOM_EMOJI:
|
|
return entity.custom_emoji_id
|
|
|
|
|
|
async def set_custom_emoji(bot: Client, custom_emoji_id: int):
|
|
try:
|
|
await bot.invoke(
|
|
UpdateEmojiStatus(emoji_status=EmojiStatus(document_id=custom_emoji_id))
|
|
)
|
|
except Exception as e:
|
|
raise FileNotFoundError from e
|
|
|
|
|
|
@listener(
|
|
command="set_status",
|
|
parameters="[大会员自定义 emoji]",
|
|
need_admin=True,
|
|
description="快速设置大会员自定义 emoji 状态",
|
|
)
|
|
async def set_emoji_status(bot: Client, message: Message):
|
|
"""快速设置大会员自定义 emoji 状态"""
|
|
me = bot.me or await bot.get_me()
|
|
if not me.is_premium:
|
|
return await message.edit("你好像不是大会员。。。")
|
|
custom_emoji_id = await get_custom_emojis(message.reply_to_message or message)
|
|
if not custom_emoji_id:
|
|
return await message.edit("请回复或者输入一个大会员 emoji。")
|
|
try:
|
|
await set_custom_emoji(bot, custom_emoji_id)
|
|
except FileNotFoundError:
|
|
return await message.edit("找不到这个大会员 emoji。")
|
|
await message.edit("设置自定义大会员 emoji 状态成功")
|