aboutsummaryrefslogtreecommitdiffstats
path: root/main.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--main.py96
1 files changed, 0 insertions, 96 deletions
diff --git a/main.py b/main.py
deleted file mode 100644
index cab1f54..0000000
--- a/main.py
+++ /dev/null
@@ -1,96 +0,0 @@
1# This file is part of Senator Sperma
2# Licensed under the GPL-3.0 License
3# Copyright (C) 2026 Salmonik @ salmonik@tuta.io
4# https://codeberg.org/salmonik/senator-sperma
5
6import asyncio
7import logging
8import os
9import sys
10import argparse
11
12import discord
13from discord.ext import commands
14from dotenv import load_dotenv
15
16from cogs.utils import settings
17
18
19def setup_logging(debug: bool = False):
20 """Configure logging based on debug flag."""
21 level = logging.DEBUG if debug else logging.INFO
22
23 class DecryptionFilter(logging.Filter):
24 def filter(self, record):
25 return "Decryption failed" not in record.getMessage()
26
27 logging.basicConfig(
28 level=level,
29 datefmt="%m-%d %H:%M:%S",
30 format="%(levelname)s - %(asctime)s - %(filename)s - %(name)s - %(message)s",
31 handlers=[logging.StreamHandler(sys.stdout)],
32 )
33 logging.getLogger().addFilter(DecryptionFilter())
34
35
36# Create a new event loop and set it as the current loop
37loop = asyncio.new_event_loop()
38asyncio.set_event_loop(loop)
39
40intents = discord.Intents.all()
41bot = commands.Bot(intents=intents, loop=loop)
42
43
44@bot.event
45async def on_ready():
46 logger = logging.getLogger(__name__)
47 logger.info("ƁUKASZ SPERMA AKTYWACJA")
48
49 await settings.load_settings()
50
51
52if __name__ == "__main__":
53 parser = argparse.ArgumentParser(description="Run Senator Sperma bot")
54 parser.add_argument("--debug", action="store_true", help="Enable debug logging")
55 args, unknown = parser.parse_known_args()
56
57 load_dotenv()
58 setup_logging(args.debug)
59
60 extensions = [
61 "cogs.vclogs",
62 "cogs.compression",
63 "cogs.tts",
64 "cogs.web",
65 "cogs.ai",
66 "cogs.conversion",
67 "cogs.math_commands",
68 "cogs.downloader",
69 "cogs.say",
70 "cogs.assistant",
71 "cogs.music.play_commands",
72 "cogs.music.stop",
73 "cogs.music.join",
74 "cogs.search",
75 "cogs.trigger",
76 "cogs.cron",
77 "cogs.qr",
78 "cogs.uploader",
79 ]
80
81 try:
82 for i, extension in enumerate(extensions, 1):
83 bot.load_extension(extension)
84 logging.getLogger(__name__).info(f"Loaded {i}/{len(extensions)} extensions")
85
86 token = os.getenv("TOKEN")
87 if not token:
88 raise ValueError(
89 "No token provided. Please set the TOKEN environment variable."
90 )
91
92 bot.run(token)
93
94 except Exception as e:
95 logging.getLogger(__name__).error(f"Error starting the bot: {e}")
96 sys.exit(1)