index : logbot | |
Archlinux32 log bot | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | conf/example.conf | 2 | ||||
-rw-r--r-- | logbot.py | 11 |
diff --git a/conf/example.conf b/conf/example.conf index 6a1ca9f..7393e27 100644 --- a/conf/example.conf +++ b/conf/example.conf @@ -22,7 +22,7 @@ kick = -!- <span class="kick">%user%</span> was kicked from %channel% by %kicker mode = -!- mode/<span class="mode">%channel%</span> [%modes% %person%] by %giver% nick = <span class="nick">%old%</span> is now known as <span class="nick">%new%</span> part = -!- <span class="part">%user%</span> has parted %channel% -pubmsg = <span class="person"><%user%></span> %message% +pubmsg = <span class="person" style="color:%color%"><%user%></span> %message% pubnotice = <span class="notice">-%user%:%channel%-</span> %message% quit = -!- <span class="quit">%user%</span> has quit [%reason%] topic = <span class="topic">%user%</span> changed topic of <span class="topic">%channel%</span> to: %topic% @@ -36,9 +36,9 @@ import os.path import shutil from ConfigParser import ConfigParser -from ftplib import FTP from optparse import OptionParser from time import strftime +from hashlib import md5 from irclib import nm_to_n from ircbot import SingleServerIRCBot @@ -60,6 +60,11 @@ html_header = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" index_header = """<h1>%s</h1><br />""" +def gen_color(user): + """Generates a color based on hash of username""" + return '#%s' % md5(user).hexdigest()[:6] + + class LogBot(SingleServerIRCBot): def __init__(self, server, port, channels, owners, nickname, password): """Initialize this badboy""" @@ -86,8 +91,10 @@ class LogBot(SingleServerIRCBot): user = nm_to_n(e.source()) message = e.arguments()[0] channel = e.target() + color = gen_color(user) self.write(channel, self.format["pubmsg"].replace("%user%", user) \ - .replace("%message%", message)) + .replace("%message%", message) \ + .replace("%color%", color)) def on_invite(self, c, e): pass |