flash / Database /mongodb /blacklistdb.py
Karma
Add files via upload
f45efbd
raw
history blame
1.31 kB
import codecs
import pickle
from typing import List
from Database.mongodb.db import dbname
blacklist_filtersdb = dbname.blacklistFilters
def obj_to_str(obj):
if not obj:
return False
string = codecs.encode(pickle.dumps(obj), "base64").decode()
return string
def str_to_obj(string: str):
obj = pickle.loads(codecs.decode(string.encode(), "base64"))
return obj
async def get_blacklisted_words(chat_id: int) -> List[str]:
_filters = await blacklist_filtersdb.find_one({"chat_id": chat_id})
if not _filters:
return []
return _filters["filters"]
async def save_blacklist_filter(chat_id: int, word: str):
word = word.lower().strip()
_filters = await get_blacklisted_words(chat_id)
_filters.append(word)
await blacklist_filtersdb.update_one(
{"chat_id": chat_id},
{"$set": {"filters": _filters}},
upsert=True,
)
async def delete_blacklist_filter(chat_id: int, word: str) -> bool:
filtersd = await get_blacklisted_words(chat_id)
word = word.lower().strip()
if word in filtersd:
filtersd.remove(word)
await blacklist_filtersdb.update_one(
{"chat_id": chat_id},
{"$set": {"filters": filtersd}},
upsert=True,
)
return True
return False