From 5be6d0bd0589122a8db0c739e9980192577bc17b Mon Sep 17 00:00:00 2001 From: Untone Date: Sat, 21 Oct 2023 12:54:27 +0300 Subject: [PATCH] debug+lang --- bot/main.py | 83 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 51 insertions(+), 32 deletions(-) diff --git a/bot/main.py b/bot/main.py index 6a3df07..4a88660 100644 --- a/bot/main.py +++ b/bot/main.py @@ -4,8 +4,8 @@ import sys import signal # Import the signal module from aiogram import Bot, Dispatcher, Router from aiogram.enums import ParseMode -from aiogram.filters import CommandStart, Command -from aiogram.types import Message, ChatJoinRequest, CallbackQuery, ChatMemberUpdated, ChatMemberLeft, ChatMemberBanned +from aiogram.filters import CommandStart +from aiogram.types import Message, ChatJoinRequest, CallbackQuery, ChatMemberUpdated from aiogram.enums import ChatMemberStatus from config import BOT_TOKEN from handlers.routing import handle_routing @@ -27,56 +27,75 @@ state = State() @router.message(CommandStart()) async def command_start_handler(message: Message) -> None: - await message.answer("Напишите своё сообщение для администрации чата") + caption = "Напишите своё сообщение для нас" if message.from_user.llanguage_code == 'ru' else "Write your message for us" + await message.answer(caption) @router.callback_query() async def process_callback(callback_query: CallbackQuery): cbq = vars(callback_query) - cbq["from"] = vars(callback_query.from_user) - cbq["message"] = vars(callback_query.message) - data = cbq["data"] - if data.startswith("vouch"): - await handle_button(cbq) - elif data.startswith("unlink"): - await handle_unlink(cbq, state) + try: + cbq["from"] = vars(callback_query.from_user) + cbq["message"] = vars(callback_query.message) + data = cbq["data"] + if data.startswith("vouch"): + await handle_button(cbq) + elif data.startswith("unlink"): + await handle_unlink(cbq, state) + except Exception as e: + logger.error(f"[main.process_callback] ERROR {e}") + logger.debug(cbq) @router.chat_join_request() async def join_request_handler(update: ChatJoinRequest) -> None: print("chat join request") join_request = vars(update) - join_request["from"] = vars(update.from_user) - join_request["chat"] = vars(update.chat) - await handle_join_request(join_request) + try: + join_request["from"] = vars(update.from_user) + join_request["chat"] = vars(update.chat) + await handle_join_request(join_request) + except Exception as e: + logger.error(f"[main.join_request_handler] ERROR {e}") + logger.debug(join_request) + @router.message() async def all_handler(message: Message) -> None: msg = vars(message) - msg["from"] = vars(message.from_user) - msg["chat"] = vars(message.chat) - if message.reply_to_message: - msg["reply_to_message"] = vars(message.reply_to_message) - await handle_routing(msg, state) - await asyncio.sleep(1.0) + try: + msg["from"] = vars(message.from_user) + msg["chat"] = vars(message.chat) + if message.reply_to_message: + msg["reply_to_message"] = vars(message.reply_to_message) + await handle_routing(msg, state) + await asyncio.sleep(1.0) + except Exception as e: + logger.error(f"[main.all_handler] ERROR {e}") + logger.debug(msg) @router.my_chat_member() async def chat_members_change(update: ChatMemberUpdated): msg = vars(update) - msg["chat"] = vars(update.chat) - msg["from"] = vars(update.from_user) - logger.debug(msg) - old_member = update.old_chat_member - new_member = update.new_chat_member - if old_member: - if old_member.status == ChatMemberStatus.KICKED: - Profile.erase(update.from_user.id) - await handle_left(msg) - elif new_member: - await handle_join(msg) - else: - logger.info("unhandled members update") + try: + msg["chat"] = vars(update.chat) + msg["from"] = vars(update.from_user) + logger.debug(msg) + old_member = update.old_chat_member + new_member = update.new_chat_member + if old_member: + if old_member.status == ChatMemberStatus.KICKED: + Profile.erase(update.from_user.id) + await handle_left(msg) + elif new_member: + await handle_join(msg) + else: + logger.info("unhandled members update") + + except Exception as e: + logger.error(f"[main.all_handler] ERROR {e}") + logger.debu(msg) async def main() -> None: