diff --git a/modules/sqlite_local.py b/modules/sqlite_local.py new file mode 100644 index 0000000..75af52c --- /dev/null +++ b/modules/sqlite_local.py @@ -0,0 +1,22 @@ +# IRCat module for local SQLite database (default) +import sqlite3 +__ircat_type__ = "sql.provider" +class SQLiteDataBroker: + def __init__(self): + if not os.path.isfile(data_path): + print("Creating database file...") + open(data_path, "w").write("") + self.conn = sqlite3.connect(data_path) + db = self.conn.cursor() + db.execute("""CREATE table IF NOT EXISTS nickserv (user varchar(255), modes varchar(255), hash varchar(255), cloak varchar(255))""") + db.execute("""CREATE table IF NOT EXISTS groups (name varchar(255), owner varchar(255))""") + db.execute("""CREATE table IF NOT EXISTS chanserv (name varchar(255), modes varchar(255), params varchar(255), owner varchar(255), usermodes varchar(255), optimodes varchar(255))""") + def nickserv_gethash(self, nick, password:str): + db = self.conn.cursor() + password = password.encode("UTF-8") + db.execute("SELECT * FROM nickserv WHERE user=?;", [nick]) + e = db.fetchall() + if e == []: + return ["Nickname doesn't exist."] + else: + return e \ No newline at end of file