nonsensebot/app/__main__.py

53 lines
1.2 KiB
Python
Raw Normal View History

2024-09-15 23:10:27 +01:00
import asyncio
2024-07-28 03:59:19 +01:00
import click
import logging
from tortoise import run_async
log = logging.getLogger(__name__)
@click.group()
2024-07-31 23:17:09 +01:00
@click.option(
"--log-level",
default="INFO",
2024-09-15 23:03:24 +01:00
type=click.Choice(
["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], case_sensitive=False
),
help="Set the log level.",
)
@click.option(
"--log-file",
default=None,
type=click.Path(),
help="Log to a file as well as stdout",
2024-07-31 23:17:09 +01:00
)
2024-08-04 17:21:00 +01:00
def cli(log_level: str, log_file: str | None):
logging.basicConfig(
level=log_level.upper(),
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
if log_file is not None:
file_handler = logging.FileHandler(log_file)
file_handler.setLevel(logging.DEBUG)
2024-09-15 23:03:24 +01:00
file_handler.setFormatter(
logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
)
2024-08-04 17:21:00 +01:00
logging.getLogger().addHandler(file_handler)
2024-07-28 03:59:19 +01:00
@cli.command()
def run():
"""Runs the bot"""
log.info("Starting bot.")
from .main import bot
2024-07-28 23:33:15 +01:00
2024-09-08 01:33:31 +01:00
# run_async(bot.start(access_token=bot.cfg["bot"]["access_token"]))
2024-09-15 23:10:27 +01:00
asyncio.run(bot.start(access_token=bot.cfg["bot"]["access_token"]))
2024-07-28 03:59:19 +01:00
if __name__ == "__main__":
cli()