flash / Database /mongodb /afk_db.py
Karma
Add files via upload
f45efbd
raw
history blame
1.46 kB
from Database.mongodb.db import dbname
usersdb = dbname.users
cleandb = dbname.cleanmode
cleanmode = {}
async def is_cleanmode_on(chat_id: int) -> bool:
mode = cleanmode.get(chat_id)
if not mode:
user = await cleandb.find_one({"chat_id": chat_id})
if not user:
cleanmode[chat_id] = True
return True
cleanmode[chat_id] = False
return False
return mode
async def cleanmode_on(chat_id: int):
cleanmode[chat_id] = True
user = await cleandb.find_one({"chat_id": chat_id})
if user:
return await cleandb.delete_one({"chat_id": chat_id})
async def cleanmode_off(chat_id: int):
cleanmode[chat_id] = False
user = await cleandb.find_one({"chat_id": chat_id})
if not user:
return await cleandb.insert_one({"chat_id": chat_id})
async def is_afk(user_id: int) -> bool:
user = await usersdb.find_one({"user_id": user_id})
return (True, user["reason"]) if user else (False, {})
async def add_afk(user_id: int, mode):
await usersdb.update_one(
{"user_id": user_id}, {"$set": {"reason": mode}}, upsert=True
)
async def remove_afk(user_id: int):
user = await usersdb.find_one({"user_id": user_id})
if user:
return await usersdb.delete_one({"user_id": user_id})
async def get_afk_users() -> list:
users = usersdb.find({"user_id": {"$gt": 0}})
return list(await users.to_list(length=1000000000)) if users else []