diff options
-rw-r--r-- | meeting.py | 7 | ||||
-rw-r--r-- | plugin.py | 4 |
2 files changed, 9 insertions, 2 deletions
@@ -340,6 +340,10 @@ class MeetingCommands(object): chair = chair.strip() if not chair: continue if chair not in self.chairs: + if self._channelNicks is not None and \ + ( chair.encode(self.config.input_codec) + not in self._channelNicks()): + self.reply("Warning: Nick not in channel: %s"%chair) self.addnick(chair, lines=0) self.chairs.setdefault(chair, True) chairs = dict(self.chairs) # make a copy @@ -433,7 +437,7 @@ class Meeting(MeetingCommands, object): def __init__(self, channel, owner, oldtopic=None, filename=None, writeRawLog=False, setTopic=None, sendReply=None, getRegistryValue=None, - safeMode=False, + safeMode=False, channelNicks=None, extraConfig={}): self.config = Config(self, writeRawLog=writeRawLog, safeMode=safeMode, extraConfig=extraConfig) @@ -458,6 +462,7 @@ class Meeting(MeetingCommands, object): self._meetingTopic = None self._meetingname = "" self._meetingIsOver = False + self._channelNicks = channelNicks if filename: self._filename = filename @@ -98,12 +98,14 @@ class MeetBot(callbacks.Plugin): irc.sendMsg(ircmsgs.topic(channel, x)) def _sendReply(x): irc.sendMsg(ircmsgs.privmsg(channel, x)) + def _channelNicks(): + return irc.state.channels[channel].users M = meeting.Meeting(channel=channel, owner=nick, oldtopic=irc.state.channels[channel].topic, writeRawLog=True, setTopic = _setTopic, sendReply = _sendReply, getRegistryValue = self.registryValue, - safeMode=True + safeMode=True, channelNicks=_channelNicks, ) meeting_cache[Mkey] = M recent_meetings.append( |