diff --git a/main.py b/main.py index c60c00c..3243676 100644 --- a/main.py +++ b/main.py @@ -30,12 +30,9 @@ async def command_start_handler(message): await message.answer(caption) -async def process_callback(callback_query): - cbq = vars(callback_query) +async def process_callback(cbq): try: - cbq["from"] = vars(callback_query.from_user) - cbq["message"] = vars(callback_query.message) - data = cbq["data"] + data = cbq.get("data") if data.startswith("vouch"): await handle_button(cbq) elif data.startswith("unlink"): @@ -48,12 +45,8 @@ async def process_callback(callback_query): await send_message(FEEDBACK_CHAT_ID, text) -async def join_request_handler(update): - print("chat join request") - join_request = vars(update) +async def join_request_handler(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}") @@ -64,41 +57,31 @@ async def join_request_handler(update): async def all_handler(message): - msg = vars(message) 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) + await handle_routing(message, state) except Exception as e: logger.error(f"[main.all_handler] ERROR {e}") - logger.debug(msg) + logger.debug(message) import traceback text = traceback.format_exc() await send_message(FEEDBACK_CHAT_ID, text) async def chat_members_change(update): - member_updated = vars(update) try: - member_updated["chat"] = vars(update.chat) - member_updated["from"] = vars(update.from_user) - old_member = vars(member_updated["old_chat_member"]) - new_member = vars(member_updated["new_chat_member"]) - if old_member: - if old_member.status == 'KICKED': - Profile.erase(member_updated["from"]["id"]) - await handle_left(member_updated) - elif new_member: - await handle_join(member_updated) + old = update.get("old_chat_member") + if old: + if old.get("status") == 'KICKED': + Profile.erase(update["from"]["id"]) + await handle_left(update) + elif update.get("new_chat_member"): + await handle_join(update) else: logger.info("unhandled members update") except Exception as e: logger.error(f"[main.my_chat_member] ERROR {e}") - logger.debug(member_updated) + logger.debug(update) import traceback text = traceback.format_exc() await send_message(FEEDBACK_CHAT_ID, text)