62 lines
1.6 KiB
Python
62 lines
1.6 KiB
Python
import sqlite3
|
|
|
|
conn = sqlite3.connect("data.db")
|
|
c = conn.cursor()
|
|
|
|
|
|
def get_commands():
|
|
return list(map(Command, [command[0] for command in list(c.execute("SELECT * FROM commands"))]))
|
|
|
|
def does_command_exist(command_id=None, command=None):
|
|
result = False
|
|
if command_id:
|
|
c.execute("SELECT * FROM commands WHERE id=?", [command_id])
|
|
result = len(list(c)) >= 1
|
|
elif command:
|
|
c.execute("SELECT * FROM commands WHERE command=?", [command])
|
|
result = len(list(c)) >= 1
|
|
return result
|
|
|
|
def get_command_by_command(command):
|
|
c.execute("SELECT * FROM commands WHERE command=?", [command])
|
|
return Command(list(c)[0][0])
|
|
|
|
|
|
def create_command(command, response):
|
|
c.execute("INSERT INTO commands(command, response) VALUES(?,?)", [command, response])
|
|
conn.commit()
|
|
|
|
|
|
# TODO: rework the permission system and implement command permissions
|
|
class Command:
|
|
def __init__(self, command_id=None):
|
|
self.command_id = command_id
|
|
|
|
|
|
def __repr__(self):
|
|
return f"[{self.get_id()}] {self.get_command()}"
|
|
|
|
def __clist(self):
|
|
c.execute("SELECT * FROM commands WHERE id=?", [self.command_id])
|
|
return list(c)[0]
|
|
|
|
def get_id(self):
|
|
return self.command_id
|
|
|
|
def get_command(self):
|
|
return self.__clist()[1]
|
|
|
|
def get_response(self):
|
|
return self.__clist()[2]
|
|
|
|
def delete(self):
|
|
c.execute("DELETE FROM commands WHERE id=?", [self.command_id])
|
|
conn.commit()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# create_command("test", "response")
|
|
|
|
for command in get_commands():
|
|
print(command)
|