def handle_privmsg(self, ievent): """ check if PRIVMSG is command, if so dispatch. """ if ievent.nick in self.nicks401: logging.debug("%s - %s is available again" % (self.name, ievent.nick)) self.nicks401.remove(ievent.nick) if not ievent.txt: return chat = re.search(dccchatre, ievent.txt) if chat: if self.users.allowed(ievent.userhost, 'USER'): start_new_thread(self._dccconnect, (ievent.nick, ievent.userhost, chat.group(1), chat.group(2))) return if '\001' in ievent.txt: Irc.handle_privmsg(self, ievent) return ievent.bot = self ievent.sock = self.sock chan = ievent.channel if chan == self.nick: ievent.msg = True ievent.speed = 4 ievent.printto = ievent.nick ccs = ['!', '@', self.cfg['defaultcc']] self.privwait.check(ievent) if ievent.isresponse: return if self.cfg['noccinmsg'] and self.msg: self.put(ievent) elif ievent.txt[0] in ccs: self.put(ievent) return self.put(ievent) if not ievent.iscmnd(): self.privwait.check(ievent)
def handle_privmsg(self, ievent): """ check if PRIVMSG is command, if so dispatch. """ if ievent.nick in self.nicks401: logging.debug("%s - %s is available again" % (self.cfg,name, ievent.nick)) self.nicks401.remove(ievent.nick) if not ievent.txt: return ievent.nodispatch = False chat = re.search(dccchatre, ievent.txt) if chat: if self.users.allowed(ievent.userhost, 'USER'): start_new_thread(self._dccconnect, (ievent.nick, ievent.userhost, chat.group(1), chat.group(2))) return if '\001' in ievent.txt: Irc.handle_privmsg(self, ievent) return ievent.bot = self ievent.sock = self.sock chan = ievent.channel self.put(ievent)
def handle_privmsg(self, ievent): """ check if PRIVMSG is command, if so dispatch. """ if ievent.nick in self.nicks401: rlog(10, self.name, "%s is available again" % ievent.nick) self.nicks401.remove(ievent.nick) if not ievent.txt: return # check if it is a dcc chat request chat = re.search(dccchatre, ievent.txt) if chat: # check if the user is known if users.allowed(ievent.userhost, 'USER'): # start connection start_new_thread(self._dccconnect, (ievent.nick, ievent.userhost, chat.group(1), chat.group(2))) return # see if base class method would handle it if '\001' in ievent.txt: Irc.handle_privmsg(self, ievent) return # set bot and socket in ircevent ievent.bot = self ievent.sock = self.sock chan = ievent.channel.lower() # check for /msg if chan == self.nick.lower(): ievent.msg = 1 ievent.speed = 7 ievent.printto = ievent.nick ccs = ['!', '@', self.cfg['defaultcc']] # check for PRIVMSG waiting callback self.privwait.check(ievent) if ievent.isresponse: return if not self.cfg['noccinmsg']: plugins.trydispatch(self, ievent) elif ievent.txt[0] in ccs: ievent.txt = ievent.txt[1:] plugins.trydispatch(self, ievent) return ievent.printto = chan # see if we can get channel control character try: cchar = self.channels[chan]['cc'] except LookupError: cchar = self.cfg['defaultcc'] or '!' except TypeError: cchar = self.cfg['defaultcc'] or '!' # see if cchar matches, if so dispatch ievent.speed = 5 if ievent.txt[0] in cchar: ievent.cc = ievent.txt[0] ievent.txt = ievent.txt[1:] plugins.trydispatch(self, ievent) return # see if were adressed, if so dispatch txtlist = ievent.txt.split(':', 1) if txtlist[0].lower() == self.nick.lower(): if len(txtlist) < 2: return ievent.txt = txtlist[1].strip() plugins.trydispatch(self, ievent) return # habbie addressing mode txtlist = ievent.txt.split(',', 1) if txtlist[0].lower() == self.nick.lower(): if len(txtlist) < 2: return ievent.txt = txtlist[1].strip() plugins.trydispatch(self, ievent) return # check for PRIVMSG waiting callback self.privwait.check(ievent)