fix-reply-feedback5
This commit is contained in:
parent
638f4ae407
commit
980b455585
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue
Block a user