From 07fcef826de47bd3c83ccf6b2193e9c66e172462 Mon Sep 17 00:00:00 2001 From: Administrator Date: Tue, 21 Feb 2023 19:51:53 +0300 Subject: [PATCH] more --- main.py | 43 ++++--------------------------------------- storage.py | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 39 deletions(-) create mode 100644 storage.py diff --git a/main.py b/main.py index 120186e..b3a3578 100644 --- a/main.py +++ b/main.py @@ -2,11 +2,10 @@ import os from random import randrange import telebot -from cachetools import TTLCache from telebot.types import Message -import settings from mongo import mongo +from storage import set_values, get_chat_info bot = telebot.TeleBot(os.getenv("TELEGRAM_TOKEN")) @@ -30,46 +29,12 @@ answers = [ [{"200", "двести"}, "Отсоси на месте!"], [{"слышь", "слыш"}, "За углом поссышь!"], [{"здрасте", "здрасьте"}, "Пизду покрасьте!"], - [{"ладно"}, "Прохладно!"] + [{"ладно"}, "Прохладно!"], + [{"угу"}, "Иди в пизду!"], + [{"опа"}, "Срослась пизда и жопа!"] ] -cache = TTLCache(settings.CACHE_SIZE, settings.CACHE_TTL) - - -def get_chat_info(chat_id: int) -> dict: - cached_info = cache.get(chat_id) - if cached_info is not None: - return cached_info - mongo_info = mongo.chats_collection.find_one({"chat_id": chat_id}) - if mongo_info is not None: - cache[chat_id] = mongo_info - return mongo_info - chat_info = {"chat_id": chat_id, "state": "default", "probability": 100} - mongo.chats_collection.insert_one(chat_info) - cache[chat_id] = chat_info - return chat_info - - -def set_values(chat_id: int, **values): - cached_info = cache.get(chat_id) - if cached_info is None: - mongo_info = mongo.chats_collection.find_one({"chat_id": chat_id}) - if mongo_info is None: - chat_info = {"chat_id": chat_id, "state": "default", "probability": 100} - chat_info.update(values) - mongo.chats_collection.insert_one(chat_info) - cache[chat_id] = chat_info - else: - mongo.chats_collection.update_one({"chat_id": chat_id}, {"$set": values}) - mongo_info = dict(mongo_info) - mongo_info.update(values) - cache[chat_id] = mongo_info - else: - cached_info.update(values) - mongo.chats_collection.update_one({"chat_id": chat_id}, {"$set": values}) - - @bot.message_handler(commands=['setprobability']) def set_probability(message: Message): bot.send_message(message.chat.id, "Отправь одно число - вероятность парирования") diff --git a/storage.py b/storage.py new file mode 100644 index 0000000..ed7c18d --- /dev/null +++ b/storage.py @@ -0,0 +1,39 @@ +from cachetools import TTLCache + +import settings +from mongo import mongo + +cache = TTLCache(settings.CACHE_SIZE, settings.CACHE_TTL) + + +def get_chat_info(chat_id: int) -> dict: + cached_info = cache.get(chat_id) + if cached_info is not None: + return cached_info + mongo_info = mongo.chats_collection.find_one({"chat_id": chat_id}) + if mongo_info is not None: + cache[chat_id] = mongo_info + return mongo_info + chat_info = {"chat_id": chat_id, "state": "default", "probability": 100} + mongo.chats_collection.insert_one(chat_info) + cache[chat_id] = chat_info + return chat_info + + +def set_values(chat_id: int, **values): + cached_info = cache.get(chat_id) + if cached_info is None: + mongo_info = mongo.chats_collection.find_one({"chat_id": chat_id}) + if mongo_info is None: + chat_info = {"chat_id": chat_id, "state": "default", "probability": 100} + chat_info.update(values) + mongo.chats_collection.insert_one(chat_info) + cache[chat_id] = chat_info + else: + mongo.chats_collection.update_one({"chat_id": chat_id}, {"$set": values}) + mongo_info = dict(mongo_info) + mongo_info.update(values) + cache[chat_id] = mongo_info + else: + cached_info.update(values) + mongo.chats_collection.update_one({"chat_id": chat_id}, {"$set": values})