- IMPORTANT: Always check that a message is not from yourself,
- otherwise you will create an infinite loop responding
- to your own messages.
-
- This handler will reply to messages that mention
- the bot's nickname.
-
- Arguments:
- msg -- The received message stanza. See the documentation
- for stanza objects and the Message stanza to see
- how it may be used.
- """
- if msg['mucnick'] != self.bot.nick and self.bot.nick in msg['body']:
- self.bot.send_message(mto=msg['from'].bare,
- mbody='I heard that, %s.' % msg['mucnick'],
- mtype='groupchat')
-
- def muc_online(self, presence):
- """
- Process a presence stanza from a chat room. In this case,
- presences from users that have just come online are
- handled by sending a welcome message that includes
- the user's nickname and role in the room.
-
- Arguments:
- presence -- The received presence stanza. See the
- documentation for the Presence stanza
- to see how else it may be used.
- """
- if presence['muc']['nick'] != self.bot.nick:
- self.bot.send_message(mto=presence['from'].bare,
- mbody='Hello, %s %s' % (presence['muc']['role'],
- presence['muc']['nick']),
- mtype='groupchat')
+ def _went_offline(self, pres):
+ nick = pres['muc']['nick']
+ if nick in self.online:
+ self.online.remove(nick)