Telegram/modules/custom_filters.py

26 lines
1.1 KiB
Python

"""Custom message filters made to improve commands
usage in context of Holo Users."""
from app import isAnAdmin
from modules.utils import configGet
from modules.database import col_applications
from pyrogram import filters
from pyrogram.types import Message
async def admin_func(_, __, msg: Message):
return await isAnAdmin(msg.from_user.id)
async def allowed_func(_, __, msg: Message):
return True if (col_applications.find_one({"user": msg.from_user.id}) is not None) else False
async def enabled_feature_func(_, __, msg: Message, feature: str):
return configGet("enabled", "features", feature)
admin = filters.create(admin_func)
allowed = filters.create(allowed_func)
enabled_applications = filters.create(enabled_feature_func, kwargs={"feature": "applications"})
enabled_sponsorships = filters.create(enabled_feature_func, kwargs={"feature": "sponsorships"})
enabled_warnings = filters.create(enabled_feature_func, kwargs={"feature": "warnings"})
enabled_invites_check = filters.create(enabled_feature_func, kwargs={"feature": "invites_check"})
enabled_dinovoice = filters.create(enabled_feature_func, kwargs={"feature": "dinovoice"})