Add nickcolor option.

This commit is contained in:
Merdal Kaymaz 2015-02-04 20:48:55 +01:00
parent 006ca10d90
commit 7a56b298f3
2 changed files with 11 additions and 5 deletions

View File

@ -10,6 +10,7 @@ mode=Default
username=unit22
realname=Bender Bending Rodríguez
heartbeat=90
nickcolor=True
[Freenode]
host=irc.freenode.net

View File

@ -38,7 +38,7 @@ def main():
return None
options = {}
for option in [ "timeout", "host", "port", "nick", "channel", "heartbeat", "password", "username", "realname", "mode", "ssl", "fingerprint" ]:
for option in [ "timeout", "host", "port", "nick", "channel", "heartbeat", "password", "username", "realname", "mode", "ssl", "fingerprint", "nickcolor" ]:
options[option] = get(option)
mode = get("mode")
@ -207,8 +207,7 @@ class IRCRelayer(irc.IRCClient):
self.username = config['username']
self.realname = config['realname']
self.mode = config['mode']
self.colornick = "\x0303"
self.colorend = "\x03"
self.nickcolor = config['nickcolor']
log.msg("IRC Relay created. Name: %s | Host: %s | Channel: %s"%(self.nickname, self.network, self.channel))
# IRC RFC: https://tools.ietf.org/html/rfc2812#page-4
if len(self.nickname) > 9:
@ -239,15 +238,21 @@ class IRCRelayer(irc.IRCClient):
def formatMessage(self, message):
return message.split(self.nickname + ': ', 1)[1]
def formatNick(self, user):
nick = "[" + self.formatUsername(user) + "]"
if self.nickcolor == "True":
nick = "[\x0303" + self.formatUsername(user) + "\x03]"
return nick
def privmsg(self, user, channel, message):
# If someone addresses the bot directly, don't respond.
if channel == self.nickname:
log.msg("Recieved privmsg from %s: %s"%(user, message))
else:
if self.mode != "RelayByCommand":
self.relay("[%s%s%s] %s"%(self.colornick, self.formatUsername(user), self.colorend, message))
self.relay("%s %s"%(self.formatNick(user), message))
elif message.startswith(self.nickname + ':'):
self.relay("[%s%s%s] %s"%(self.colornick, self.formatUsername(user), self.colorend, self.formatMessage(message)))
self.relay("%s %s"%(self.formatNick(user), self.formatMessage(message)))
def kickedFrom(self, channel, kicker, message):
log.msg("Kicked by %s. Message \"%s\""%(kicker, message))