From 3f4b06933a9201170898103bcf1ca73a159a6af0 Mon Sep 17 00:00:00 2001 From: Daniil Date: Thu, 7 Jan 2021 14:37:44 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B1?= =?UTF-8?q?=D0=B0=D1=80=D0=B4=D0=B0=D0=BA=20=D0=B8=D0=B7=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D0=BD=D1=8B=D1=85=20=D1=81=D0=BA=D0=BE=D0=B1=D0=BE=D0=BA?= =?UTF-8?q?.=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB=20=D0=B8=D0=BC?= =?UTF-8?q?=D0=BF=D0=BE=D1=80=D1=82=D1=8B=20=D0=B2=20app.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 12 +++--------- filters/__init__.py | 6 +++--- handlers/errors/error_handler.py | 10 ++++++---- handlers/users/echo.py | 4 ++-- handlers/users/help.py | 11 +++++------ handlers/users/start.py | 2 +- middlewares/__init__.py | 3 ++- middlewares/throttling.py | 6 +++--- 8 files changed, 25 insertions(+), 29 deletions(-) diff --git a/app.py b/app.py index 1c9cb0f..dc5a296 100644 --- a/app.py +++ b/app.py @@ -1,19 +1,13 @@ from aiogram import executor +from loader import dp +import middlewares, filters, handlers from utils.notify_admins import on_startup_notify - async def on_startup(dispatcher): - import filters - import middlewares - - filters.setup(dispatcher) - middlewares.setup(dispatcher) - + # Уведомляет про запуск await on_startup_notify(dispatcher) if __name__ == '__main__': - from handlers import dp - executor.start_polling(dp, on_startup=on_startup) diff --git a/filters/__init__.py b/filters/__init__.py index 2ba789c..0669f91 100644 --- a/filters/__init__.py +++ b/filters/__init__.py @@ -1,9 +1,9 @@ from aiogram import Dispatcher - +from loader import dp # from .is_admin import AdminFilter -def setup(dp: Dispatcher): - # dp.filters_factory.bind(AdminFilter) +if __name__ == "filters": + #dp.filters_factory.bind(is_admin) pass diff --git a/handlers/errors/error_handler.py b/handlers/errors/error_handler.py index 57ce53c..b89182b 100644 --- a/handlers/errors/error_handler.py +++ b/handlers/errors/error_handler.py @@ -1,4 +1,9 @@ import logging +from aiogram.utils.exceptions import (Unauthorized, InvalidQueryID, TelegramAPIError, + CantDemoteChatCreator, MessageNotModified, MessageToDeleteNotFound, + MessageTextIsEmpty, RetryAfter, + CantParseEntities, MessageCantBeDeleted) + from loader import dp @@ -12,10 +17,6 @@ async def errors_handler(update, exception): :param exception: :return: stdout logging """ - from aiogram.utils.exceptions import (Unauthorized, InvalidQueryID, TelegramAPIError, - CantDemoteChatCreator, MessageNotModified, MessageToDeleteNotFound, - MessageTextIsEmpty, RetryAfter, - CantParseEntities, MessageCantBeDeleted) if isinstance(exception, CantDemoteChatCreator): logging.debug("Can't demote chat creator") @@ -53,4 +54,5 @@ async def errors_handler(update, exception): if isinstance(exception, CantParseEntities): logging.exception(f'CantParseEntities: {exception} \nUpdate: {update}') return True + logging.exception(f'Update: {update} \n{exception}') diff --git a/handlers/users/echo.py b/handlers/users/echo.py index ede7e41..f7fa79c 100644 --- a/handlers/users/echo.py +++ b/handlers/users/echo.py @@ -15,7 +15,7 @@ async def bot_echo(message: types.Message): # Эхо хендлер, куда летят ВСЕ сообщения с указанным состоянием @dp.message_handler(state="*", content_types=types.ContentTypes.ANY) async def bot_echo_all(message: types.Message, state: FSMContext): - s = await state.get_state() - await message.answer(f"Эхо в состоянии {s}.\n" + state = await state.get_state() + await message.answer(f"Эхо в состоянии {state}.\n" f"\nСодержание сообщения:\n" f"{message}") diff --git a/handlers/users/help.py b/handlers/users/help.py index 6bb0360..5420ccb 100644 --- a/handlers/users/help.py +++ b/handlers/users/help.py @@ -6,9 +6,8 @@ from loader import dp @dp.message_handler(CommandHelp()) async def bot_help(message: types.Message): - text = [ - 'Список команд: ', - '/start - Начать диалог', - '/help - Получить справку' - ] - await message.answer('\n'.join(text)) + text = ("Список команд: ", + "/start - Начать диалог", + "/help - Получить справку") + + await message.answer("\n".join(text)) diff --git a/handlers/users/start.py b/handlers/users/start.py index 54abb72..539ab70 100644 --- a/handlers/users/start.py +++ b/handlers/users/start.py @@ -6,4 +6,4 @@ from loader import dp @dp.message_handler(CommandStart()) async def bot_start(message: types.Message): - await message.answer(f'Привет, {message.from_user.full_name}!') + await message.answer(f"Привет, {message.from_user.full_name}!") diff --git a/middlewares/__init__.py b/middlewares/__init__.py index 030694e..571fad2 100644 --- a/middlewares/__init__.py +++ b/middlewares/__init__.py @@ -1,7 +1,8 @@ from aiogram import Dispatcher +from loader import dp from .throttling import ThrottlingMiddleware -def setup(dp: Dispatcher): +if __name__ == "a.middlewares": dp.middleware.setup(ThrottlingMiddleware()) diff --git a/middlewares/throttling.py b/middlewares/throttling.py index 5f54e0b..4037c01 100644 --- a/middlewares/throttling.py +++ b/middlewares/throttling.py @@ -21,8 +21,8 @@ class ThrottlingMiddleware(BaseMiddleware): handler = current_handler.get() dispatcher = Dispatcher.get_current() if handler: - limit = getattr(handler, 'throttling_rate_limit', self.rate_limit) - key = getattr(handler, 'throttling_key', f"{self.prefix}_{handler.__name__}") + limit = getattr(handler, "throttling_rate_limit", self.rate_limit) + key = getattr(handler, "throttling_key", f"{self.prefix}_{handler.__name__}") else: limit = self.rate_limit key = f"{self.prefix}_message" @@ -34,4 +34,4 @@ class ThrottlingMiddleware(BaseMiddleware): async def message_throttled(self, message: types.Message, throttled: Throttled): if throttled.exceeded_count <= 2: - await message.reply('Too many requests! ') + await message.reply("Too many requests!") From 3940f090d26b81355ded98cbf969d12e2bd4c6d3 Mon Sep 17 00:00:00 2001 From: Daniil Date: Thu, 7 Jan 2021 14:39:38 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B1?= =?UTF-8?q?=D0=B0=D1=80=D0=B4=D0=B0=D0=BA=20=D0=B8=D0=B7=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D0=BD=D1=8B=D1=85=20=D1=81=D0=BA=D0=BE=D0=B1=D0=BE=D0=BA?= =?UTF-8?q?.=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB=20=D0=B8=D0=BC?= =?UTF-8?q?=D0=BF=D0=BE=D1=80=D1=82=D1=8B=20=D0=B2=20app.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- middlewares/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/middlewares/__init__.py b/middlewares/__init__.py index 571fad2..0631e10 100644 --- a/middlewares/__init__.py +++ b/middlewares/__init__.py @@ -4,5 +4,5 @@ from loader import dp from .throttling import ThrottlingMiddleware -if __name__ == "a.middlewares": +if __name__ == "middlewares": dp.middleware.setup(ThrottlingMiddleware())