welcomecenterbot/bot/handlers/handle_default.py

44 lines
1.7 KiB
Python
Raw Normal View History

2023-09-11 15:52:35 +00:00
from bot.api import send_message, delete_message, get_chat_administrators
from bot.storage import Profile, storage
from bot.handlers.send_button import show_request_msg
2023-04-23 16:54:58 +00:00
2023-09-11 20:04:53 +00:00
async def handle_default(msg):
print("default handler for all messages")
chat_id = str(msg["chat"]["id"])
from_id = str(msg["from"]["id"])
2023-04-23 16:54:58 +00:00
sender = Profile.get(from_id, msg)
2023-09-11 20:04:53 +00:00
if msg["text"].startswith("/my"):
2023-04-23 16:54:58 +00:00
# команда в групповом чате
2023-09-11 20:04:53 +00:00
print("remove some messages in group chat")
2023-04-23 16:54:58 +00:00
# удалить сообщение с командой /my
2023-09-11 20:04:53 +00:00
r = await delete_message(chat_id, msg["message_id"])
2023-04-23 16:54:58 +00:00
print(r)
# показать новое сообщение с кнопкой
2023-09-11 17:02:29 +00:00
# для дополнительного поручения
2023-04-28 12:24:14 +00:00
show_request_msg(msg)
2023-04-23 16:54:58 +00:00
else:
# любое другое сообщение
2023-09-11 20:04:53 +00:00
if len(sender["parents"]) == 0:
2023-04-23 16:54:58 +00:00
# владелец чата автоматически ручается
2023-09-11 20:04:53 +00:00
print(f"setting owner as parent for {from_id}")
r = await get_chat_administrators(chat_id)
2023-04-23 16:54:58 +00:00
print(r)
2023-09-11 20:04:53 +00:00
owner_id = ""
for admin in r["result"]:
if admin["status"] == "creator":
owner_id = admin["user"]["id"]
2023-04-24 06:14:35 +00:00
break
2023-04-28 12:24:14 +00:00
if owner_id:
2023-09-11 20:04:53 +00:00
sender["parents"].append(str(owner_id))
2023-04-28 12:24:14 +00:00
# обновляем профиль владельца
owner = Profile.get(owner_id)
2023-09-11 20:04:53 +00:00
owner["children"].append(str(from_id))
2023-04-28 12:24:14 +00:00
Profile.save(owner)
2023-04-23 16:54:58 +00:00
# сохранить профиль отправителя
2023-09-11 20:04:53 +00:00
Profile.save(sender)