2023-09-11 20:21:55 +00:00
|
|
|
|
from handlers.handle_feedback import handle_feedback, handle_answer
|
|
|
|
|
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-18 11:02:24 +00:00
|
|
|
|
text = msg.get("text")
|
|
|
|
|
if text:
|
2023-09-18 08:01:13 +00:00
|
|
|
|
if text.startswith("/my"):
|
|
|
|
|
await handle_command_my(msg, state)
|
|
|
|
|
elif text.startswith("/graph"):
|
|
|
|
|
await handle_command_graph(msg)
|
|
|
|
|
else:
|
|
|
|
|
await handle_feedback(msg, state)
|
2023-09-11 20:04:53 +00:00
|
|
|
|
|
|
|
|
|
elif str(cid) == FEEDBACK_CHAT_ID:
|
|
|
|
|
# сообщения из группы обратной связи
|
2023-09-18 07:50:48 +00:00
|
|
|
|
logger.info("feedback chat message")
|
2023-09-18 08:12:25 +00:00
|
|
|
|
logger.debug(msg)
|
|
|
|
|
if msg.get("reply_to_message"):
|
2023-09-11 20:04:53 +00:00
|
|
|
|
await handle_answer(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-18 11:02:24 +00:00
|
|
|
|
text = msg.get("text", msg.get("caption"))
|
|
|
|
|
if text:
|
|
|
|
|
await handle_default(msg, state)
|