MeowNex/cc/give
swee be7202d5a5
All checks were successful
Check syntax / check (push) Successful in 7s
Update cc/give
2024-12-28 18:44:08 -08:00

36 lines
No EOL
1.4 KiB
Text

from sys import argv
import sqlite3
import re
conn = sqlite3.connect("/home/sweebotirc/sbirc.db")
database = conn.cursor()
def getperms(mask: str):
try:
database.execute(f"SELECT * FROM users;")
output = 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 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:
database.execute("INSERT INTO users (username, perms) VALUES ('" + argv[3] + "', '" + argv[4] + "');")
print(argv[1] + ": Successfully created permissions of " + argv[3] + " and set it to '" + argv[4] + "'")
else:
print(argv[1] + ": This command takes 2 arguments, only got " + str(len(argv) - 3) + ".")
else:
print(argv[1]+": Permission denied")
conn.commit()
conn.close()