MCPcopy Create free account
hub / github.com/TechifyBots/File-Stream-Bot / Database

Class Database

biisal/utils/database.py:8–70  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6
7
8class Database:
9 def __init__(self, uri, database_name):
10 self._client = motor.motor_asyncio.AsyncIOMotorClient(uri)
11 self.db = self._client[database_name]
12 self.col = self.db.users
13 self.bannedList = self.db.bannedList
14
15 def new_user(self, id):
16 return dict(
17 id=id,
18 join_date=datetime.date.today().isoformat()
19 )
20
21 async def add_user(self, id):
22 user = self.new_user(id)
23 await self.col.insert_one(user)
24
25 async def add_user_pass(self, id, ag_pass):
26 await self.add_user(int(id))
27 await self.col.update_one({'id': int(id)}, {'$set': {'ag_p': ag_pass}})
28
29 async def get_user_pass(self, id):
30 user_pass = await self.col.find_one({'id': int(id)})
31 return user_pass.get("ag_p", None) if user_pass else None
32
33 async def is_user_exist(self, id):
34 user = await self.col.find_one({'id': int(id)})
35 return True if user else False
36
37 async def total_users_count(self):
38 count = await self.col.count_documents({})
39 return count
40
41 async def get_all_users(self):
42 all_users = self.col.find({})
43 return all_users
44
45 async def delete_user(self, user_id):
46 await self.col.delete_many({'id': int(user_id)})
47
48 async def ban_user(self , user_id):
49 user = await self.bannedList.find_one({'banId' : int(user_id)})
50 if user:
51 return False
52 else:
53 await self.bannedList.insert_one({'banId' : int(user_id)})
54 return True
55
56 async def is_banned(self , user_id):
57 user = await self.bannedList.find_one({'banId' : int(user_id)})
58 return True if user else False
59
60 async def is_unbanned(self , user_id):
61 try :
62 if await self.bannedList.find_one({'banId' : int(user_id)}):
63 await self.bannedList.delete_one({'banId' : int(user_id)})
64 return True
65 else:

Callers 3

commands.pyFile · 0.90
stream.pyFile · 0.90
admin.pyFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected