From 70becfc32ec98084067686bd456971a4cb76082c Mon Sep 17 00:00:00 2001 From: Igor Tolmachov Date: Sat, 3 Dec 2022 02:03:05 +0900 Subject: Beta 2.0 --- utils/__init__.py | 2 ++ utils/filters.py | 27 +++++++++++++-------------- 2 files changed, 15 insertions(+), 14 deletions(-) create mode 100644 utils/__init__.py (limited to 'utils') diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..05fcb09 --- /dev/null +++ b/utils/__init__.py @@ -0,0 +1,2 @@ +# isort: skip_file +from . import filters diff --git a/utils/filters.py b/utils/filters.py index 9b8ce5c..59302fb 100644 --- a/utils/filters.py +++ b/utils/filters.py @@ -5,27 +5,26 @@ from random import randint from aiogram import filters as f from aiogram import types as t -from shared import config +from shared.instances import config class message: is_chat = f.ChatTypeFilter((t.ChatType.GROUP, t.ChatType.SUPERGROUP)) @staticmethod - def chance(msg: t.Message): - return config.chances.get(str(msg.chat.id), 10) >= randint(1, 100) - - @staticmethod - def has_text(msg: t.Message): - if msg.text or msg.caption: - return True + def chance(msg: t.Message) -> bool: + return config.get_config(msg.chat.id).gen.chance >= randint(1, 100) class user: @staticmethod - def add_member(upd: t.ChatMemberUpdated): - old = upd.old_chat_member - new = upd.new_chat_member - return not t.ChatMemberStatus.is_chat_member( - old.status - ) and t.ChatMemberStatus.is_chat_member(new.status) + async def is_admin(msg: t.Message) -> bool: + if not await message.is_chat.check(msg): + return True + member = await msg.chat.get_member(msg.from_user.id) + if not member.is_chat_admin(): + await msg.answer( + "Вы не администратор. Данное действие будет занесено в журнал." + ) + return False + return True -- cgit v1.2.3