# 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 logging import os import sys import asyncio import discord from discord.ext import commands from dotenv import load_dotenv from cogs.voice import get_voice_manager 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', ] 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)