this is the first step in trying to get the bot to support multiple servers with different channels, countdown triggers, and so on this also ends up affecting some configuration around: * dispatch * markov * admin privmsg form
30 lines
810 B
Python
30 lines
810 B
Python
"""Start the IRC bot via Django management command."""
|
|
import logging
|
|
import signal
|
|
|
|
from django.core.management import BaseCommand
|
|
|
|
from ircbot.bot import IRCBot
|
|
|
|
log = logging.getLogger('ircbot')
|
|
|
|
|
|
class Command(BaseCommand):
|
|
"""Provide the command to start the IRC bot.
|
|
|
|
This will run until the bot disconnects and shuts down.
|
|
"""
|
|
|
|
help = "Start the IRC bot"
|
|
|
|
def add_arguments(self, parser):
|
|
"""Add arguments to the bot startup."""
|
|
parser.add_argument('server_name')
|
|
|
|
def handle(self, *args, **options):
|
|
"""Start the IRC bot and spin forever."""
|
|
self.stdout.write(self.style.NOTICE(f"Starting up {options['server_name']} bot"))
|
|
irc = IRCBot(options['server_name'])
|
|
signal.signal(signal.SIGINT, irc.sigint_handler)
|
|
irc.start()
|