2023-09-11 20:21:55 +00:00
|
|
|
|
from handlers.handle_feedback import handle_feedback, handle_answer
|
|
|
|
|
from handlers.handle_members_change import handle_join, handle_left
|
|
|
|
|
from handlers.handle_default import handle_default
|
|
|
|
|
from handlers.command_my import handle_command_my
|
|
|
|
|
from handlers.command_graph import handle_command_graph
|
|
|
|
|
from handlers.command_ask import handle_command_ask
|
|
|
|
|
from config import FEEDBACK_CHAT_ID
|
2023-09-11 20:04:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def handle_routing(msg, state):
|
|
|
|
|
cid = msg["chat"]["id"]
|
|
|
|
|
uid = msg["from"]["id"]
|
|
|
|
|
if cid == uid:
|
|
|
|
|
# сообщения в личке с ботом
|
|
|
|
|
print("private chat message")
|
|
|
|
|
if msg["text"].startswith("/my"):
|
|
|
|
|
await handle_command_my(msg)
|
|
|
|
|
elif msg["text"].startswith("/unlink"):
|
|
|
|
|
await handle_unlink(msg)
|
|
|
|
|
else:
|
|
|
|
|
await handle_feedback(msg, state)
|
|
|
|
|
|
|
|
|
|
elif str(cid) == FEEDBACK_CHAT_ID:
|
|
|
|
|
# сообщения из группы обратной связи
|
|
|
|
|
print("feedback chat message")
|
|
|
|
|
if "reply_to_message" in msg:
|
|
|
|
|
await handle_answer(msg)
|
|
|
|
|
elif msg["text"] == "/graph":
|
|
|
|
|
await handle_command_graph(msg)
|
|
|
|
|
elif msg["text"].startswith("/ask"):
|
|
|
|
|
await handle_command_ask(msg)
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
# сообщения из всех остальных групп
|
|
|
|
|
print(f"group {cid} chat message")
|
|
|
|
|
if "text" in msg:
|
|
|
|
|
await handle_default(msg)
|
|
|
|
|
elif "new_chat_member" in msg:
|
|
|
|
|
await handle_join(msg)
|
|
|
|
|
elif "left_chat_member" in msg:
|
|
|
|
|
await handle_left(msg)
|