53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
import sqlite3
|
|
import discord
|
|
|
|
|
|
class DatabaseManager:
|
|
def __init__(self, name: str):
|
|
self.conn = sqlite3.connect(name)
|
|
self._setup_database()
|
|
|
|
def _setup_database(self):
|
|
with self.conn:
|
|
cur = self.conn.executescript('''
|
|
BEGIN;
|
|
CREATE TABLE IF NOT EXISTS guilds(
|
|
id INTEGER PRIMARY KEY,
|
|
name TEXT);
|
|
CREATE TABLE IF NOT EXISTS watched_channels(
|
|
id INTEGER PRIMARY KEY,
|
|
name TEXT);
|
|
COMMIT;
|
|
''')
|
|
|
|
def create_guild(self, guild_id: int, guild_name: str):
|
|
with self.conn:
|
|
self.conn.execute('''INSERT INTO guilds
|
|
VALUES(?, ?);''',
|
|
(guild_id, guild_name))
|
|
|
|
def get_all_guilds(self):
|
|
with self.conn:
|
|
cur = self.conn.execute('''SELECT id, name FROM guilds;''')
|
|
return cur.fetchall()
|
|
|
|
def get_all_watched_channels(self):
|
|
with self.conn:
|
|
curs = self.conn.execute('''SELECT id, name
|
|
FROM watched_channels;''')
|
|
return curs.fetchall()
|
|
|
|
def get_guild_watched_channels(self, guild_id: int):
|
|
with self.conn:
|
|
curs = self.conn.execute('''SELECT id, name
|
|
FROM watched_channels
|
|
WHERE id=?;''',
|
|
(guild_id,))
|
|
return curs.fetchall()
|
|
|
|
def write_message(self, message: discord.Message):
|
|
pass
|
|
|
|
def get_messages(self, channel_id: int):
|
|
pass
|