| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import logging
- from os.path import exists
- def missing_config():
- logging.basicConfig(level=logging.DEBUG)
- if not exists("local_settings.py"):
- logging.error("Settings file not found.")
- logging.info("Rename local_settings_example.py to local_settings.py:")
- logging.info("")
- logging.info(" mv local_settings_example.py local_settings.py")
- logging.info("")
- logging.error("Settings undefined.")
- logging.info("Configure the settings:")
- logging.info("")
- logging.info(" edit local_settings.py")
- logging.info("")
- quit()
- # Import settings
- try:
- import local_settings as settings # Environment dependant settings stored in local_settings.py, untracked by .gitinore
- except ModuleNotFoundError:
- missing_config()
- # Set loglevel
- try:
- logging.basicConfig(level=settings.LOG_LEVEL)
- except AttributeError:
- missing_config()
- # Define database pool
- import asyncpg
- async def create_db_pool():
- try:
- bot.pg = await asyncpg.create_pool(
- database=settings.DATABASE_NAME,
- user=settings.DATABASE_USER,
- host=settings.DATABASE_HOST,
- password=settings.DATABASE_PASSWORD,
- )
- except AttributeError:
- missing_config()
- # Create robot
- import discord
- from discord.ext import commands
- try:
- bot = commands.Bot(
- command_prefix = settings.COMMAND_PREFIX,
- description = "Charlie's Angels bot",
- intents = discord.Intents.default(), # Required: Guilds
- case_insensitive = True,
- )
- except AttributeError:
- missing_config()
- # Create database pool
- bot.loop.run_until_complete(create_db_pool())
- # Create database tables if they do not exist
- from query.initialise_database import init_db
- bot.loop.run_until_complete(init_db(bot.pg))
- # Load extensions
- default_extensions = [
- "commands.general",
- "commands.games",
- "events.general"
- ]
- for ext in default_extensions:
- bot.load_extension(ext)
- # Run robot
- try:
- bot.run(settings.DISCORD_TOKEN)
- except AttributeError:
- missing_config()
|