dr.botzo/ircbot/management/commands/runircbot.py

30 lines
810 B
Python
Raw Normal View History

2015-05-09 18:56:26 -05:00
"""Start the IRC bot via Django management command."""
import logging
import signal
2015-05-09 18:56:26 -05:00
from django.core.management import BaseCommand
from ircbot.bot import IRCBot
2015-05-09 18:56:26 -05:00
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')
2015-05-09 18:56:26 -05:00
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)
2015-05-09 18:56:26 -05:00
irc.start()