Ariella/main.py
2024-06-18 23:19:31 -04:00

65 lines
1.3 KiB
Python

import discord
from discord.ext import commands
import aiosqlite
import asyncio
import os
import sys
import subprocess
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
intents = discord.Intents.default()
intents.message_content = True
intents.members = True
class Ariella(discord.Client):
def __init__(self):
super().__init__(intents=intents)
self.tree = discord.app_commands.CommandTree(self)
async def setup_hook(self):
await self.tree.sync()
# Load commands
await self.load_extension('commands')
bot = Ariella()
# Database setup
async def init_db():
async with aiosqlite.connect("bot.db") as db:
await db.execute("""
CREATE TABLE IF NOT EXISTS user_notes (
user_id INTEGER PRIMARY KEY,
notes TEXT,
strikes INTEGER
)
""")
await db.commit()
@bot.event
async def on_ready():
print(f'Logged in as {bot.user} (ID: {bot.user.id})')
print('------')
await init_db()
@bot.event
async def on_guild_join(guild):
await bot.tree.sync(guild=guild)
# Load commands
async def load_commands():
await bot.load_extension('commands')
asyncio.run(load_commands())
bot.run('TOKEN')