diff --git a/cc/give b/cc/give index 10d6c2a..64d66f6 100644 --- a/cc/give +++ b/cc/give @@ -1,14 +1,28 @@ from sys import argv import sqlite3 +import re conn = sqlite3.connect("/home/sweebotirc/sbirc.db") database = conn.cursor() +def getperms(self, mask: str): + try: + self.database.execute(f"SELECT * FROM users;") + output = self.database.fetchall() + for i in output: + if re.match(i[0].replace("*", ".+"), mask): + return i[1] + return '' + except: + print(traceback.format_exc()) + return '' if argv[2] == "full": if len(argv) == 5: if argv[3] == argv[2]: print(argv[1] + ": You wanna give yourself permissions!?") else: perms = getperms(argv[3]) - if perms != "": + if argv[4] in perms: + print("The specified user already has these permissions.") + elif perms != "": database.execute("UPDATE users SET perms = '" + perms + "," + argv[4] + "' WHERE username = '" + argv[3] + "';") print(argv[1] + ": Successfully appended '" + argv[4] + "' to the permissions of " + argv[3]) else: