Spaces:
Runtime error
Runtime error
| from pyrogram import Client, filters | |
| from pyrogram.enums import ChatType | |
| from pyrogram.handlers import MessageHandler | |
| from pyrogram.types import Message | |
| from Hellbot.core import Config, db, hellbot | |
| from Hellbot.functions.admins import is_user_admin | |
| def on_message( | |
| command: str | list[str], | |
| group: int = 0, | |
| chat_type: list[ChatType] = None, | |
| admin_only: bool = False, | |
| allow_stan: bool = False, | |
| ): | |
| if allow_stan: | |
| _filter = ( | |
| filters.command(command, Config.HANDLERS) | |
| & (filters.me | Config.STAN_USERS) | |
| & ~filters.forwarded | |
| & ~filters.via_bot | |
| ) | |
| else: | |
| _filter = ( | |
| filters.command(command, Config.HANDLERS) | |
| & filters.me | |
| & ~filters.forwarded | |
| & ~filters.via_bot | |
| ) | |
| def decorator(func): | |
| async def wrapper(client: Client, message: Message): | |
| if client.me.id != message.from_user.id: | |
| if not await db.is_stan(client.me.id, message.from_user.id): | |
| return | |
| if admin_only and not message.chat.type == ChatType.PRIVATE: | |
| if not await is_user_admin(message.chat, client.me.id): | |
| return await hellbot.edit(message, "π¨ πΊπ πππ πΊπ πΊπ½πππ ππΎππΎ!") | |
| if chat_type and message.chat.type not in chat_type: | |
| return await hellbot.edit(message, "π’πΊπ'π πππΎ ππππ πΌππππΊππ½ ππΎππΎ!") | |
| await func(client, message) | |
| message.continue_propagation() | |
| for user in hellbot.users: | |
| user.add_handler(MessageHandler(wrapper, _filter), group) | |
| return wrapper | |
| return decorator | |
| def custom_handler(filters: filters.Filter, group: int = 0): | |
| def decorator(func): | |
| async def wrapper(client: Client, message: Message): | |
| await func(client, message) | |
| message.continue_propagation() | |
| for user in hellbot.users: | |
| user.add_handler(MessageHandler(wrapper, filters), group) | |
| return wrapper | |
| return decorator | |