def join(self, channel, password=None): """ join channel with optional password. """ if not channel: return if password: self._raw('JOIN %s %s' % (channel, password)) chan = ChannelBase(channel, self.botname) if chan: chan.setpass('IRC', password) else: self._raw('JOIN %s' % channel) if self.state: if channel not in self.state.data.joinedchannels: self.state.data.joinedchannels.append(channel) self.state.save()