"""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()