Created
November 25, 2020 11:09
-
-
Save MasterGroosha/05df6741efda43a32c957135414829b4 to your computer and use it in GitHub Desktop.
aiogram custom filter example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
from aiogram import Bot, Dispatcher, executor, types | |
from aiogram.dispatcher.filters import Filter | |
logging.basicConfig(level=logging.INFO) | |
bot = Bot(token="") | |
dp = Dispatcher(bot) | |
admins = set() | |
class IsAdmin(Filter): | |
key = "is_admin" | |
async def check(self, message: types.Message): | |
return message.from_user.id in admins | |
@dp.message_handler(IsAdmin()) | |
async def only_for_admins(message: types.Message): | |
await message.reply("Only for admins!") | |
@dp.message_handler(commands="make") | |
async def add_to_admins(message: types.Message): | |
admins.add(message.from_user.id) | |
await message.reply(f"New admins list: {admins}") | |
if __name__ == "__main__": | |
dp.bind_filter(IsAdmin) | |
executor.start_polling(dp, skip_updates=True) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment