Files
BOTKlining/doners/shop-telegram-bot/src/commands.py
2025-06-08 20:55:08 +09:00

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)