welcomecenterbot/handlers/handle_default.py
2024-01-06 14:25:35 +03:00

47 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)