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
|