From 08024e81fcf6417ce5237aa551c10515892daba3 Mon Sep 17 00:00:00 2001 From: Untone Date: Thu, 26 Sep 2024 18:48:41 +0300 Subject: [PATCH] removed-fix2 --- handlers/messages_routing.py | 40 +++++++++++++++--------------------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/handlers/messages_routing.py b/handlers/messages_routing.py index 80b3b19..67d82d2 100644 --- a/handlers/messages_routing.py +++ b/handlers/messages_routing.py @@ -32,30 +32,22 @@ async def messages_routing(msg, state): elif bool(text): mid = msg.get("message_id") if text == '/toxic@welcomecenter_bot': - text = '' - toxic_score = 0 - if not reply_msg: - logger.debug(f'scoring average for {uid}') - scoring_msg_id = mid - pattern = f"toxic:{cid}:{uid}:*" - scores = [] - async for key in redis.scan_iter(pattern): - scr = int(await redis.get(key)) - scores.append(scr) - toxic_score = math.floor(sum(scores)/len(scores)) if scores else 0 - emoji = '😳' if toxic_score > 90 else '😟' if toxic_score > 80 else '😏' if toxic_score > 60 else '🙂' if toxic_score > 20 else '😇' - text = f"Доброе утро! Средняя токсичность твоих сообщений: {toxic_score}% {emoji}" - else: - latest_toxic_message_id = await redis.get(f"toxic:{cid}") - scoring_msg_id = reply_msg.get("message_id") or int(latest_toxic_message_id) - toxic_score = await redis.get(f"toxic:{cid}:{uid}:{scoring_msg_id}") - x = int(toxic_score) if toxic_score else 0 - text = f"{x}% токсичности" - await telegram_api( - "deleteMessage", - chat_id=cid, - message_id=mid - ) + latest_toxic_message_id = await redis.get(f"toxic:{cid}") + pattern = f"toxic:{cid}:{uid}:*" + scores = [] + async for key in redis.scan_iter(pattern): + scr = int(await redis.get(key)) + scores.append(scr) + toxic_score = math.floor(sum(scores)/len(scores)) if scores else 0 + scoring_msg_id = reply_msg.get("message_id") or int(latest_toxic_message_id) + one_score = await redis.get(f"toxic:{cid}:{uid}:{scoring_msg_id}") + emoji = '😳' if toxic_score > 90 else '😟' if toxic_score > 80 else '😏' if toxic_score > 60 else '🙂' if toxic_score > 20 else '😇' + text = f"{int(one_score)}% токсичности\nСредняя токсичность сообщений: {toxic_score}% {emoji}" + await telegram_api( + "deleteMessage", + chat_id=cid, + message_id=mid + ) if text: await telegram_api( "sendMessage",