redis-service

This commit is contained in:
2024-09-27 09:03:34 +03:00
parent a951759c81
commit c1e481ded8
4 changed files with 91 additions and 15 deletions

View File

@@ -2,7 +2,7 @@ from bot.config import FEEDBACK_CHAT_ID
from bot.announce import edit_announce
from bot.api import telegram_api
import logging
from utils.store import get_all_removed, get_average_toxic
from utils.store import get_all_pattern, get_average_pattern
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)
@@ -29,12 +29,15 @@ async def handle_private(msg, state):
state['welcome'] = False
return
elif text.startswith('/toxic'):
toxic_score = await get_average_toxic(msg)
toxic_pattern = f"toxic:{uid}:{cid}:*"
toxic_score = await get_average_toxic(toxic_pattern)
text = f"Средняя токсичность сообщений: {toxic_score}%"
await telegram_api("sendMessage", chat_id=uid, reply_to_message_id=msg.get("message_id"), text=text)
mid = msg.get("message_id")
await telegram_api("sendMessage", chat_id=uid, reply_to_message_id=mid, text=text)
return
elif text == '/removed':
removed_messages = await get_all_removed(uid)
removed_pattern = f"removed:{uid}:*"
removed_messages = await get_all_pattern(removed_pattern)
if removed_messages:
await telegram_api("sendMessage", chat_id=uid, text="\n\n".join(removed_messages))
return

View File

@@ -1,6 +1,6 @@
import logging
import math
from utils.store import redis, get_average_toxic
from utils.store import redis, get_average_pattern
from bot.api import telegram_api
from bot.config import FEEDBACK_CHAT_ID
from nlp.toxicity_detector import detector
@@ -44,9 +44,10 @@ async def messages_routing(msg, state):
reply_to_msg_id = int(latest_toxic_message_id)
# count average between all of messages
toxic_score = await get_average_toxic(msg)
toxic_pattern = f"toxic:{cid}:{uid}:*"
toxic_score = await get_average_pattern(toxic_pattern)
#
# current mesasage toxicity
if reply_to_msg_id:
one_score = await redis.get(f"toxic:{cid}:{uid}:{reply_to_msg_id}")
if one_score: