welcomecenterbot/bot/handlers/routing.py

43 lines
1.6 KiB
Python
Raw Normal View History

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
2023-09-18 07:50:48 +00:00
import logging
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)
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:
# сообщения в личке с ботом
2023-09-18 07:50:48 +00:00
logger.info("private chat message")
2023-09-11 20:04:53 +00:00
if msg["text"].startswith("/my"):
2023-09-17 10:05:41 +00:00
await handle_command_my(msg, state)
2023-09-11 20:04:53 +00:00
else:
await handle_feedback(msg, state)
elif str(cid) == FEEDBACK_CHAT_ID:
# сообщения из группы обратной связи
2023-09-18 07:50:48 +00:00
logger.info("feedback chat message")
2023-09-11 20:04:53 +00:00
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:
# сообщения из всех остальных групп
2023-09-18 07:50:48 +00:00
logger.info(f"group {cid} chat message")
2023-09-11 20:04:53 +00:00
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)