# This file is part of Senator Sperma # Licensed under the GPL-3.0 License # Copyright (C) 2026 Salmonik @ salmonik@tuta.io # https://codeberg.org/salmonik/senator-sperma import asyncio import logging import os import sys import discord from discord.ext import commands from dotenv import load_dotenv from cogs.utils import settings # Configure logging logging.basicConfig( level=logging.INFO, format="%(levelname)s - %(filename)s - %(name)s - %(message)s", handlers=[logging.StreamHandler(sys.stdout)], ) logger = logging.getLogger(__name__) # Create a new event loop and set it as the current loop loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) intents = discord.Intents.all() bot = commands.Bot(intents=intents, loop=loop) @bot.event async def on_ready(): logger.info("ŁUKASZ SPERMA AKTYWACJA") channel = bot.get_channel(1081667823799111804) await channel.send("ŁUKASZ SPERMA AKTYWACJA") await settings.load_settings() if __name__ == "__main__": load_dotenv() extensions = [ "cogs.vclogs", "cogs.compression", "cogs.tts", "cogs.web", "cogs.ai", "cogs.conversion", "cogs.math_commands", "cogs.downloader", "cogs.say", "cogs.jarvis", "cogs.music.play_commands", "cogs.music.stop", "cogs.music.join", "cogs.search", "cogs.trigger", "cogs.cron", "cogs.qr", "cogs.plot", ] try: for i, extension in enumerate(extensions, 1): bot.load_extension(extension) logger.info(f"Loaded {i}/{len(extensions)} extensions") # Run the bot with the token from environment variables token = os.getenv("TOKEN") if not token: raise ValueError( "No token provided. Please set the TOKEN environment variable." ) bot.run(token) except Exception as e: logger.error(f"Error starting the bot: {e}") sys.exit(1)