version-0.2.0

This commit is contained in:
2024-01-06 14:25:35 +03:00
parent bc05b93c47
commit 908529b5bb
26 changed files with 185 additions and 153 deletions

View File

@@ -0,0 +1,46 @@
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)