Spaces:
Sleeping
Sleeping
File size: 1,096 Bytes
6b1e8b6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import datetime
from motor.motor_asyncio import AsyncIOMotorClient as MongoCli
from config import MONGO_DB
mongo = MongoCli(MONGO_DB)
db = mongo.premium
db = db.premium_db
async def add_premium(user_id, expire_date):
data = await check_premium(user_id)
if data and data.get("_id"):
await db.update_one({"_id": user_id}, {"$set": {"expire_date": expire_date}})
else:
await db.insert_one({"_id": user_id, "expire_date": expire_date})
async def remove_premium(user_id):
await db.delete_one({"_id": user_id})
async def check_premium(user_id):
return await db.find_one({"_id": user_id})
async def premium_users():
id_list = []
async for data in db.find():
id_list.append(data["_id"])
return id_list
async def check_and_remove_expired_users():
current_time = datetime.datetime.utcnow()
async for data in db.find():
expire_date = data.get("expire_date")
if expire_date and expire_date < current_time:
await remove_premium(data["_id"])
print(f"Removed user {data['_id']} due to expired plan.")
|