|
|
|
@ -336,9 +336,9 @@ class IRCBot(IRCClient):
|
|
|
|
|
Called when a user has quit.
|
|
|
|
|
"""
|
|
|
|
|
nick = prefix.split('!')[0]
|
|
|
|
|
if nick == self.nickname:
|
|
|
|
|
self.botQuit(prefix, params[0])
|
|
|
|
|
else:
|
|
|
|
|
#if nick == self.nickname:
|
|
|
|
|
#self.botQuit(prefix, params[0])
|
|
|
|
|
#else:
|
|
|
|
|
self.userQuit(prefix, params[0])
|
|
|
|
|
|
|
|
|
|
def irc_NICK(self, prefix, params):
|
|
|
|
@ -416,13 +416,8 @@ class IRCBot(IRCClient):
|
|
|
|
|
|
|
|
|
|
def userQuit(self, user, quitMessage):
|
|
|
|
|
nick, ident, host = self.parsen(user)
|
|
|
|
|
self.chanlessEvent(type="quit", nick=nick, ident=ident, host=host, message=quitMessage)
|
|
|
|
|
userinfo.delUserByNetwork(self.net, nick, user)
|
|
|
|
|
self.event(type="quit", nick=nick, ident=ident, host=host, message=quitMessage)
|
|
|
|
|
|
|
|
|
|
def botQuit(self, user, quitMessage):
|
|
|
|
|
nick, ident, host = self.parsen(user)
|
|
|
|
|
userinfo.delUserByNetwork(self.net, nick, user)
|
|
|
|
|
self.event(type="quit", nick=nick, ident=ident, host=host, message=quitMessage)
|
|
|
|
|
|
|
|
|
|
def userKicked(self, kickee, channel, kicker, message):
|
|
|
|
|
nick, ident, host = self.parsen(kicker)
|
|
|
|
@ -432,10 +427,19 @@ class IRCBot(IRCClient):
|
|
|
|
|
self.botLeft(channel)
|
|
|
|
|
self.event(type="kick", nick=nick, ident=ident, host=host, target=channel, message=message, user=kickee)
|
|
|
|
|
|
|
|
|
|
def chanlessEvent(self, **cast):
|
|
|
|
|
chans = userinfo.getChansSingle(self.net, cast["nick"])
|
|
|
|
|
if chans == None:
|
|
|
|
|
self.event(**cast)
|
|
|
|
|
return
|
|
|
|
|
for i in chans:
|
|
|
|
|
cast["target"] = i
|
|
|
|
|
self.event(**cast)
|
|
|
|
|
|
|
|
|
|
def userRenamed(self, oldname, newname):
|
|
|
|
|
nick, ident, host = self.parsen(oldname)
|
|
|
|
|
self.chanlessEvent(type="nick", nick=nick, ident=ident, host=host, user=newname)
|
|
|
|
|
userinfo.renameUser(self.net, nick, oldname, newname, newname+"!"+ident+"@"+host)
|
|
|
|
|
self.event(type="nick", nick=nick, ident=ident, host=host, user=newname)
|
|
|
|
|
|
|
|
|
|
def topicUpdated(self, user, channel, newTopic):
|
|
|
|
|
nick, ident, host = self.parsen(user)
|
|
|
|
@ -449,7 +453,7 @@ class IRCBot(IRCClient):
|
|
|
|
|
argList = list(args)
|
|
|
|
|
modeList = [i for i in modes]
|
|
|
|
|
for a, m in zip(argList, modeList):
|
|
|
|
|
self.event(type="mode", nick=nick, ident=ident, host=host, target=channel, modes=m, modeargs=a)
|
|
|
|
|
self.event(type="mode", nick=nick, ident=ident, host=host, target=channel, modes=m, status=toset, modeargs=a)
|
|
|
|
|
|
|
|
|
|
class IRCBotFactory(ReconnectingClientFactory):
|
|
|
|
|
def __init__(self, name, relay=None, relayCommands=None, user=None, stage2=None):
|
|
|
|
@ -478,7 +482,7 @@ class IRCBotFactory(ReconnectingClientFactory):
|
|
|
|
|
|
|
|
|
|
def clientConnectionLost(self, connector, reason):
|
|
|
|
|
if not self.relay:
|
|
|
|
|
userinfo.delNetwork(self.name, self.client.channels)
|
|
|
|
|
userinfo.delNetwork(self.net, self.client.channels)
|
|
|
|
|
if not self.client == None:
|
|
|
|
|
self.client.connected = False
|
|
|
|
|
self.client.channels = []
|
|
|
|
|