announcement-bot/bot/database.py

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