forked from angerstoner/schneiderbot-tg
3 changed files with 67 additions and 10 deletions
-
1.gitignore
-
34db.py
-
36schneiderbot.py
@ -0,0 +1,34 @@ |
|||||
|
"""DB interface""" |
||||
|
import sqlite3 |
||||
|
|
||||
|
class Db(): |
||||
|
""" Abstract interface for db actions """ |
||||
|
def __init__(self): |
||||
|
self.conn = sqlite3.connect("deaths.db") |
||||
|
table_exist = self.conn.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='death'") |
||||
|
if table_exist.fetchall() == []: |
||||
|
self.conn.execute("CREATE TABLE death(name)") |
||||
|
|
||||
|
def __del__(self): |
||||
|
self.conn.commit() |
||||
|
|
||||
|
def is_dead(self, user): |
||||
|
"""Reports whether a user is already dead""" |
||||
|
print(str(user)) |
||||
|
res = self.conn.execute("select * from death where name = ?", [user]) |
||||
|
return res.fetchall() != [] |
||||
|
|
||||
|
def kill(self, user): |
||||
|
"""Kills a user""" |
||||
|
self.conn.execute("insert into death(name) values(?)", [user]) |
||||
|
|
||||
|
def revive(self, user): |
||||
|
"""Revives a user""" |
||||
|
self.conn.execute("delete from death where name = ?", [user]) |
||||
|
|
||||
|
def get_dead_bodies(self): |
||||
|
"""List the dead""" |
||||
|
names = [] |
||||
|
for name in self.conn.execute("select * from death").fetchall(): |
||||
|
names.append(name[0]) |
||||
|
return ", ".join(names) |
Write
Preview
Loading…
Cancel
Save
Reference in new issue