def server(self, hostname, port = 6667): if port != 6667: self.title = '%s:%d'%(hostname, port) else: self.title = hostname self.disconnect() IrcServer.server(self, hostname, port)
def __init__(self): IrcServer.__init__(self, ['scaramanga', 'scara', 'scara-tzu']) self.title = '<None>' self.state = self.STATE_DISCONNECTED self.tab = ChanWin(self, userlist = False) self.__sid = None self.__waitf = None self.channels = {} def server(win, chan, args): self.server(args) def part(win, chan, args): if chan is None: chan = args if self.state != self.STATE_CONNECTED: return self.part(chan) def join(win, chan, args): if not len(args): win.msg('Must specify a channel to join\n') return if self.state != self.STATE_CONNECTED: return self.join(args) def topic(win, chan, args): if chan is None: arr = args.split(None, 1) if len(arr) > 1: (chan, msg) = arr else: (chan, msg) = arr[0], None if not len(chan): win.msg('Must specify a channel for topic\n') return self.topic(chan, args) def privmsg(win, chan, args): tab = self.get_chan(chan) if tab is None: return tab.msg('<%s> '%self.nick, ['dark green']) tab.msg(args + '\n') self.privmsg(chan, args) def action(win, chan, args): tab = self.get_chan(chan) if tab is None: return tab.msg('*** %s %s\n'%(self.nick, args), ['dark green']) self.action(chan, args) def nick(win, chan, args): self.set_nick(args) def reconnect(win, chan, args): if self.sock is None: return self.server(self.sock.peer[0], self.sock.peer[1]) def disconnect(win, chan, args): self.disconnect() self.__cmd = { 'server': server, 'topic': topic, 'part': part, 'join': join, 'reconnect': reconnect, 'disconnect': disconnect, 'j': join, 'privmsg': privmsg, 'nick': nick, 'me': action, }
def disconnect(self): for x in self.channels.values(): self.emit('remove-channel', x) self.channels = {} IrcServer.disconnect(self)