from bot.api import send_message, delete_message, get_chat_administrators from handlers.command_my import handle_command_my from storage import Profile, storage from handlers.send_button import show_request_msg import logging logger = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) async def handle_default(msg, state): logger.info(f"default handler for all messages {msg}") chat_id = str(msg["chat"]["id"]) from_id = str(msg["from"]["id"]) sender = Profile.get(from_id, msg) text = msg.get("text", "") if text.startswith("/my"): # команда в групповом чате logger.info("remove some messages in group chat") # удалить сообщение с командой /my r = await delete_message(chat_id, msg["message_id"]) logger.debug(r) # показать связи в личке await handle_command_my(msg, state) else: # любое другое сообщение if len(sender["parents"]) == 0: # владелец чата автоматически ручается logger.info(f"setting owner as parent for {from_id}") r = await get_chat_administrators(chat_id) logger.debug(r) owner_id = "" for admin in r["result"]: if admin["status"] == "creator": owner_id = admin["user"]["id"] break if owner_id: sender["parents"].append(str(owner_id)) # обновляем профиль владельца owner = Profile.get(owner_id) owner["children"].append(str(from_id)) Profile.save(owner) # сохранить профиль отправителя Profile.save(sender)