index : logbot | |
Archlinux32 log bot | gitolite user |
summaryrefslogtreecommitdiff |
author | Chris Oliver <excid3@gmail.com> | 2010-02-07 10:14:14 -0600 |
---|---|---|
committer | Chris Oliver <excid3@gmail.com> | 2010-02-07 10:14:14 -0600 |
commit | f7d6cb90d7db3b03e5d0e16116fb5633e0c6541a (patch) | |
tree | 4ce33591c60659d6b1fe0a94a0bb772758624469 /logbot.py | |
parent | 42fd79f24c14565dd031b8c155f4f0e9da53698b (diff) | |
parent | aaa7200fa2c17f03ad8cd7a023ad92159a58d17c (diff) |
-rw-r--r-- | logbot.py | 48 |
@@ -33,20 +33,13 @@ __license__ = "GPL2" import os import os.path import irclib + +from ConfigParser import ConfigParser from ftplib import FTP +from optparse import OptionParser from time import strftime -# Customizable Variables -######################## -network = 'irc.freenode.net' -port = 6667 -channels = ['#excid3', '#keryx'] -nick = 'Timber' -owner = ['excid3|asus', 'mac9416'] -logs_folder = 'logs' - - html_header = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> @@ -116,7 +109,6 @@ class LogBot(object): write(event.target(), "%s left the room (Kicked by %s (%s))" % \ ( - def handleMode(self, connection, event): """Handles mode changes @@ -197,9 +189,37 @@ class LogBot(object): def write(self): pass -def main(): + +def main(conf): + """ + Start the bot using a config file. + + :Parameters: + - `conf`: config file location + """ + CONFIG = ConfigParser() + CONFIG.read(conf) + network = CONFIG.get('irc', 'network') + port = CONFIG.getint('irc', 'port') + channels = CONFIG.get('irc', 'channels').split(',') + nick = CONFIG.get('irc', 'nick') + owner = CONFIG.get('irc', 'owners').split(',') + logs_folder = CONFIG.get('log', 'folder') + bot = LogBot(network, port, channels, owner, nick, logs_folder) - bot.start() + try: + bot.start() + except KeyboardInterrupt: + pass + if __name__ == '__main__': - main() + # Require a config + parser = OptionParser() + parser.add_option('-c', '--config', dest='conf', help='Config to use') + (options, args) = parser.parse_args() + + if not options.conf or not os.access(options.conf, os.R_OK): + parser.print_help() + raise SystemExit(1) + main(options.conf) |