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!")