Beta/test_bot.py

89 lines
2.5 KiB
Python
Raw Normal View History

2026-06-16 17:09:34 +00:00
#!/usr/bin/env python3
"""Simple test to verify the bot can be initialized without errors."""
import sys
import os
import logging
# Add the project root to the path
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
# Setup logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler("data/test_bot.log"),
logging.StreamHandler(sys.stdout)
]
)
logger = logging.getLogger('TestBot')
def test_imports():
"""Test that all required modules can be imported."""
try:
from core.bot import Superviseur
from core.llm import LLMManager
from dotenv import load_dotenv
import discord
logger.info("✓ All imports successful")
return True
except Exception as e:
logger.error(f"✗ Import failed: {e}")
return False
def test_llm_manager():
"""Test LLMManager initialization."""
try:
from core.llm import LLMManager
llm = LLMManager(model_name="beta-20b")
logger.info("✓ LLMManager initialized successfully")
return True
except Exception as e:
logger.error(f"✗ LLMManager failed: {e}")
return False
def test_bot_initialization():
"""Test Superviseur bot initialization."""
try:
from core.bot import Superviseur
import discord
from core.llm import LLMManager
# Create a mock LLMManager
llm = LLMManager(model_name="beta-20b")
# Create minimal intents
intents = discord.Intents.default()
intents.message_content = True
intents.members = True
intents.voice_states = True
# Try to initialize the bot (without actually connecting)
bot = Superviseur(
llama_model=llm,
command_prefix="!",
guild_id=123456789,
system_prompt="Test system prompt",
intents=intents
)
logger.info("✓ Superviseur bot initialized successfully")
return True
except Exception as e:
logger.error(f"✗ Bot initialization failed: {e}")
return False
if __name__ == "__main__":
logger.info("Testing bot initialization...")
success = True
success &= test_imports()
success &= test_llm_manager()
success &= test_bot_initialization()
if success:
logger.info("✓ All tests passed! Bot should be able to run.")
sys.exit(0)
else:
logger.error("✗ Some tests failed.")
sys.exit(1)