-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb_methods.py
122 lines (88 loc) · 3.92 KB
/
db_methods.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
from config import *
###### METHODS FOR SHEDULES TABLE
### CREATE/UPDATE
async def insert_user(user_id):
cursor.execute('INSERT INTO schedules VALUES (?,?,?,?);', (user_id, 'not set', 'not set', 'not set'))
db.commit()
async def insert_form(user_id, form):
cursor.execute('UPDATE schedules SET users_form=? WHERE user_id=?;', (form, user_id))
db.commit()
async def insert_group(user_id, group):
cursor.execute('UPDATE schedules SET users_group=? WHERE user_id=?;', (group, user_id))
db.commit()
async def insert_link(user_id, link):
cursor.execute('UPDATE schedules SET users_link=? WHERE user_id=?;', (link, user_id))
db.commit()
### READ
async def get_user_form(user_id):
return cursor.execute('SELECT users_form FROM schedules WHERE user_id=?;', (user_id, )).fetchone()[0]
async def get_user_group(user_id):
return cursor.execute('SELECT users_group FROM schedules WHERE user_id=?;', (user_id, )).fetchone()[0]
async def get_user_link(user_id):
return cursor.execute('SELECT users_link FROM schedules WHERE user_id=?;', (user_id, )).fetchone()[0]
async def is_existing_user(user_id):
if cursor.execute('SELECT user_id FROM schedules WHERE user_id=?;', (user_id, )).fetchone() != None:
return True
else:
return False
async def is_user_have_form(user_id):
if cursor.execute('SELECT users_form FROM schedules WHERE user_id=?;', (user_id, )).fetchone()[0] != 'not set':
return True
else:
return False
async def is_user_have_group(user_id):
if cursor.execute('SELECT users_group FROM schedules WHERE user_id=?;', (user_id, )).fetchone()[0] != 'not set':
return True
else:
return False
### DELETE
async def delete_user(user_id):
cursor.execute('DELETE FROM schedules WHERE user_id=?', (user_id, ))
db.commit()
###### METHODS FOR CHATS TABLE
### CREATE/UPDATE
async def insert_chats_limit(chat_id, value):
cursor.execute('INSERT INTO chats VALUES(?,?)', (chat_id, value))
db.commit()
async def update_chats_limit(chat_id, value):
cursor.execute('UPDATE chats SET chats_limit=? WHERE chat_id=?;', (value, chat_id))
db.commit()
### READ
async def get_chat_limit(chat_id):
return cursor.execute('SELECT chats_limit FROM chats WHERE chat_id=?;', (chat_id, )).fetchone()[0]
async def is_chat_have_limit(chat_id):
if cursor.execute('SELECT chat_id FROM chats WHERE chat_id=?;', (chat_id, )).fetchone() != None:
return True
else:
return False
### DELETE
async def delete_chats_limit(chat_id):
cursor.execute('DELETE FROM chats WHERE chat_id=?', (chat_id, ))
db.commit()
###### METHODS FOR USERS TABLE
### CREATE/UPDATE
async def insert_chat_user_score(user_id, chat_id, score):
cursor.execute('INSERT INTO users VALUES(?,?,?)', (user_id, chat_id, score))
db.commit()
async def update_chat_user_score(user_id, chat_id, score):
cursor.execute('UPDATE users SET score=score+? WHERE user_id=? AND users_chat=?', (score, user_id, chat_id))
db.commit()
### READ
async def get_score_info(chat_id):
return cursor.execute('SELECT user_id, score FROM users WHERE users_chat=? AND score>0 ORDER BY score DESC;', (chat_id, )).fetchall()
async def get_user_chat_score_info(user_id, chat_id):
return cursor.execute('SELECT score FROM users WHERE user_id=? AND users_chat=?;', (user_id, chat_id)).fetchone()[0]
async def is_existed_chat(chat_id):
if cursor.execute('SELECT users_chat FROM users WHERE users_chat=?;', (chat_id, )).fetchone() != None:
return True
else:
return False
async def is_user_exist_in_current_chat(user_id, chat_id):
if cursor.execute('SELECT user_id FROM users WHERE user_id=? AND users_chat=?;', (user_id, chat_id)).fetchone() != None:
return True
else:
return False
### DELETE
async def delete_user_from_chat(user_id, chat_id):
cursor.execute('DELETE FROM users WHERE user_id=? AND users_chat=?', (user_id, chat_id))
db.commit()