Spaces:
Sleeping
Sleeping
| #devggn | |
| from config import MONGO_DB | |
| from motor.motor_asyncio import AsyncIOMotorClient as MongoCli | |
| mongo = MongoCli(MONGO_DB) | |
| db = mongo.user_data | |
| db = db.users_data_db | |
| async def get_data(user_id): | |
| x = await db.find_one({"_id": user_id}) | |
| return x | |
| async def set_thumbnail(user_id, thumb): | |
| data = await get_data(user_id) | |
| if data and data.get("_id"): | |
| await db.update_one({"_id": user_id}, {"$set": {"thumb": thumb}}) | |
| else: | |
| await db.insert_one({"_id": user_id, "thumb": thumb}) | |
| async def set_caption(user_id, caption): | |
| data = await get_data(user_id) | |
| if data and data.get("_id"): | |
| await db.update_one({"_id": user_id}, {"$set": {"caption": caption}}) | |
| else: | |
| await db.insert_one({"_id": user_id, "caption": caption}) | |
| async def replace_caption(user_id, replace_txt, to_replace): | |
| data = await get_data(user_id) | |
| if data and data.get("_id"): | |
| await db.update_one({"_id": user_id}, {"$set": {"replace_txt": replace_txt, "to_replace": to_replace}}) | |
| else: | |
| await db.insert_one({"_id": user_id, "replace_txt": replace_txt, "to_replace": to_replace}) | |
| async def set_session(user_id, session): | |
| data = await get_data(user_id) | |
| if data and data.get("_id"): | |
| await db.update_one({"_id": user_id}, {"$set": {"session": session}}) | |
| else: | |
| await db.insert_one({"_id": user_id, "session": session}) | |
| async def clean_words(user_id, new_clean_words): | |
| data = await get_data(user_id) | |
| if data and data.get("_id"): | |
| existing_words = data.get("clean_words", []) | |
| # Ensure existing_words is a list | |
| if existing_words is None: | |
| existing_words = [] | |
| updated_words = list(set(existing_words + new_clean_words)) | |
| await db.update_one({"_id": user_id}, {"$set": {"clean_words": updated_words}}) | |
| else: | |
| await db.insert_one({"_id": user_id, "clean_words": new_clean_words}) | |
| async def remove_clean_words(user_id, words_to_remove): | |
| data = await get_data(user_id) | |
| if data and data.get("_id"): | |
| existing_words = data.get("clean_words", []) | |
| updated_words = [word for word in existing_words if word not in words_to_remove] | |
| await db.update_one({"_id": user_id}, {"$set": {"clean_words": updated_words}}) | |
| else: | |
| await db.insert_one({"_id": user_id, "clean_words": []}) | |
| async def set_channel(user_id, chat_id): | |
| data = await get_data(user_id) | |
| if data and data.get("_id"): | |
| await db.update_one({"_id": user_id}, {"$set": {"chat_id": chat_id}}) | |
| else: | |
| await db.insert_one({"_id": user_id, "chat_id": chat_id}) | |
| async def all_words_remove(user_id): | |
| await db.update_one({"_id": user_id}, {"$set": {"clean_words": None}}) | |
| async def remove_thumbnail(user_id): | |
| await db.update_one({"_id": user_id}, {"$set": {"thumb": None}}) | |
| async def remove_caption(user_id): | |
| await db.update_one({"_id": user_id}, {"$set": {"caption": None}}) | |
| async def remove_replace(user_id): | |
| await db.update_one({"_id": user_id}, {"$set": {"replace_txt": None, "to_replace": None}}) | |
| async def remove_session(user_id): | |
| await db.update_one({"_id": user_id}, {"$set": {"session": None}}) | |
| async def remove_channel(user_id): | |
| await db.update_one({"_id": user_id}, {"$set": {"chat_id": None}}) | |
| async def delete_session(user_id): | |
| """Delete the session associated with the given user_id from the database.""" | |
| await db.update_one({"_id": user_id}, {"$unset": {"session": ""}}) | |