-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase.py
52 lines (45 loc) · 1.45 KB
/
database.py
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
"""Database management"""
import pymongo
class Database:
"""Database containing server settings data"""
@classmethod
def start_db(db):
"""Start the database"""
db.dbclient = pymongo.MongoClient()
db.database = db.dbclient["db"]
db.guilds = db.database["guilds"]
@classmethod
def clear_db(db):
"""Clear the database"""
db.guilds.delete_many({})
@classmethod
def print_db(db):
"""Print the database"""
for x in db.guilds.find():
print(x)
@classmethod
def add_server(db, guild_id: int):
"""Add a new server to the database"""
server = {
"id": guild_id,
"channel": 0,
"mode": 0,
}
db.guilds.insert_one(server)
@classmethod
def get_server(db, guild_id: int):
"""Get a server's data from the database"""
query = {"id": guild_id}
return db.guilds.find_one(query)
@classmethod
def update_channel(db, guild_id: int, channel: int):
"""Change logging channel of a server product"""
query = {"id" : guild_id}
newvalue = {"$set": {"channel": channel}}
db.guilds.update_one(query, newvalue)
@classmethod
def update_mode(db, guild_id: int, mode: int):
"""Change the level of moderation for a server"""
query = {"id" : guild_id}
newvalue = {"$set": {"mode": mode}}
db.guilds.update_one(query, newvalue)