diff --git a/ircbot/__init__.py b/ircbot/__init__.py index 4348518..fd5967c 100644 --- a/ircbot/__init__.py +++ b/ircbot/__init__.py @@ -1,8 +1,7 @@ -import argparse import re from twisted.words.protocols import irc -from twisted.internet import protocol, reactor +from twisted.internet import protocol class IRCBot(irc.IRCClient): @@ -19,6 +18,10 @@ class IRCBot(irc.IRCClient): print('joined {}'.format(channel)) def privmsg(self, user, channel, msg): + """ deals with messages, both private and public, in a channel + + Your code will most likely go in here. + """ username = user.split('!', 1)[0] if channel == self.nickname: self.msg(username, "whisper back ...") @@ -40,21 +43,3 @@ class IRCBotFactory(protocol.ClientFactory): def clientConnectionFailed(self, connector, reason): print('could not connect: {}'.format(reason)) - - -parser = argparse.ArgumentParser() -parser.add_argument('-H', '--host', type=str, default='localhost') -parser.add_argument('-p', '--port', type=int, default=6667) -parser.add_argument('-n', '--nick', type=str, default='bot') -parser.add_argument('channels', nargs='+') - -args = parser.parse_args() - -reactor.connectTCP( - args.host, int(args.port), - IRCBotFactory( - ('#{}'.format(c) for c in args.channels), - nickname=args.nick - ) -) -reactor.run() diff --git a/ircbot/main.py b/ircbot/main.py new file mode 100644 index 0000000..ce818f8 --- /dev/null +++ b/ircbot/main.py @@ -0,0 +1,24 @@ +import argparse + +from twisted.internet import reactor + +from ircbot import IRCBotFactory + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('-H', '--host', type=str, default='localhost') + parser.add_argument('-p', '--port', type=int, default=6667) + parser.add_argument('-n', '--nick', type=str, default='bot') + parser.add_argument('channels', nargs='+') + + args = parser.parse_args() + + reactor.connectTCP( + args.host, int(args.port), + IRCBotFactory( + ('#{}'.format(c) for c in args.channels), + nickname=args.nick + ) + ) + reactor.run() diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..7129e86 --- /dev/null +++ b/setup.py @@ -0,0 +1,13 @@ +from setuptools import setup, find_packages + +setup( + name='ircbot', + version="0.1dev", + packages=find_packages(), + author='Stephen McQuay', + author_email='stephen@mcquay.me', + install_requires=['Twisted'], + entry_points={'console_scripts': [ + 'ircbot = ircbot.main:main', + ]}, +)