import discord import asyncio import os import sys from discord.ext import commands, tasks import sqlite3 from datetime import datetime import time from dotenv import load_dotenv intents = discord.Intents.all() class getcfg: def __init__(self): load = load_dotenv(dotenv_path='cfg.env') self.token = os.getenv('TOKEN') if self.token == None or self.token == '': load = load_dotenv() self.token = os.getenv('TOKEN') if self.token == None or self.token == '': print("Maybe you didn't setup your .env file") sys.exit(0) self.prefix = os.getenv('PREFIX') def getprefix(self): return self.prefix def gettoken(self): return self.token class Bot(commands.Bot): def __init__(self): self.conwarn = sqlite3.connect("warn.db") self.conmsg = sqlite3.connect("message.db") self.confmsg = sqlite3.connect("channel.db") self.getcfg = getcfg() super().__init__( command_prefix=self.getcfg.getprefix(), intents=intents, ) async def status_up(self, name): await self.change_presence(activity=discord.CustomActivity(name=f"Uptime - {name}")) async def ch(self, server_id): name = "logs" tog = 1 rows = self.confmsg.execute("SELECT channel_id FROM channel WHERE name=? AND server_id=? AND tog=?",(name, server_id, tog)) res = rows.fetchone() channel=" ".join(res) return channel async def select(self, name, server_id, channel_id) -> None: rows = self.confmsg.execute("SELECT tog FROM channel WHERE name=? AND server_id=? AND channel_id=?", (name, server_id, channel_id,)) res = rows.fetchone() if res == None: return "disabled" elif not None: return "enabled" async def load(self): for filename in os.listdir('./c'): if filename.endswith('.py'): await self.load_extension(f'c.{filename[:-3]}') async def on_ready(self): print('Bot is now working') async def main(self): self.conwarn.execute("CREATE TABLE IF NOT EXISTS 'warn'('id' NOT NULL, 'user_id' varchar(20) NOT NULL, 'server_id' varchar(20) NOT NULL, 'reason' varchar(255) NOT NULL)") self.conwarn.execute("CREATE TABLE IF NOT EXISTS 'warnid'('number' int(1) NOT NULL, 'server_id' varchar(20) NOT NULL)") self.conwarn.execute("CREATE TABLE IF NOT EXISTS 'warnact'('number' int(1) NOT NULL, 'server_id' varchar(20) NOT NULL)") self.conwarn.commit() self.conmsg.execute("CREATE TABLE IF NOT EXISTS 'message'('id' NOT NULL, 'server_id' varchar(20) NOT NULL, 'messages' varchar(255) NOT NULL)") self.conmsg.commit() self.confmsg.execute("CREATE TABLE IF NOT EXISTS 'channel'('tog' int(1) NOT NULL, 'name' str(255) NOT NULL, 'server_id' varchar(20) NOT NULL,'channel_id' varchar(18) NOT NULL)") self.confmsg.commit() await self.load() await self.start(token=self.getcfg.gettoken()) bot = Bot() asyncio.run(bot.main())