fix-reply-feedback5

This commit is contained in:
Untone 2023-09-18 11:12:25 +03:00
parent 638f4ae407
commit 980b455585
2 changed files with 24 additions and 22 deletions

View File

@ -42,24 +42,25 @@ async def handle_feedback(msg, state):
async def handle_answer(msg):
logger.info("handle answering feedback")
logger.debug(msg)
answered_msg = msg["reply_to_message"]
if "from" not in answered_msg:
answered_msg["from"] = vars(msg.from_user)
r = await get_chat_administrators(msg["chat"]["id"])
logger.debug(r)
admins = []
for a in r["result"]:
admins.append(a["user"]["id"])
if answered_msg["from"]["is_bot"] and msg["from"]["id"] in admins:
support_msg_id = str(answered_msg["message_id"])
# получение сохраненного информации о сообщении для ответа
stored_feedback = storage.get(f"fbk-{support_msg_id}")
if stored_feedback:
logger.info("handle an answer from feedback group")
stored_feedback = json.loads(stored_feedback)
r = await send_message(
f'{stored_feedback["chat_id"]}',
msg["text"],
reply_to=stored_feedback["message_id"],
)
logger.debug(r)
if "reply_to_message" in msg:
answered_msg = msg.get("reply_to_message")
if "from" not in answered_msg:
answered_msg["from"] = vars(msg.from_user)
r = await get_chat_administrators(msg["chat"]["id"])
logger.debug(r)
admins = []
for a in r["result"]:
admins.append(a["user"]["id"])
if answered_msg["from"]["is_bot"] and msg["from"]["id"] in admins:
support_msg_id = str(answered_msg["message_id"])
# получение сохраненного информации о сообщении для ответа
stored_feedback = storage.get(f"fbk-{support_msg_id}")
if stored_feedback:
logger.info("handle an answer from feedback group")
stored_feedback = json.loads(stored_feedback)
r = await send_message(
f'{stored_feedback["chat_id"]}',
msg["text"],
reply_to=stored_feedback["message_id"],
)
logger.debug(r)

View File

@ -28,7 +28,8 @@ async def handle_routing(msg, state):
elif str(cid) == FEEDBACK_CHAT_ID:
# сообщения из группы обратной связи
logger.info("feedback chat message")
if "reply_to_message" in msg:
logger.debug(msg)
if msg.get("reply_to_message"):
await handle_answer(msg)
elif msg["text"] == "/graph":
await handle_command_graph(msg)