from typing import Dict, List, Union from config import MONGO_DB_URI from motor.motor_asyncio import AsyncIOMotorClient as MongoCli mongo = MongoCli(MONGO_DB_URI).Rankings impdb = mongo.imposter async def usr_data(user_id: int) -> bool: user = await impdb.find_one({"user_id": user_id}) return bool(user) async def get_userdata(user_id: int) -> bool: user = await impdb.find_one({"user_id": user_id}) return user["username"], user["first_name"], user["last_name"] async def add_userdata(user_id: int, username, first_name, last_name): await impdb.update_one( {"user_id": user_id}, { "$set": { "username": username, "first_name": first_name, "last_name": last_name, } }, upsert=True, ) async def check_imposter(chat_id: int) -> bool: chat = await impdb.find_one({"chat_id_toggle": chat_id}) return bool(chat) async def impo_on(chat_id: int) -> bool: await impdb.insert_one({"chat_id_toggle": chat_id}) async def impo_off(chat_id: int): await impdb.delete_one({"chat_id_toggle": chat_id})