def dispatch_message(self, msg, timestamp=None, but=None): '''dispatch message to group members, also log the message in database''' if but is None: but = {self.current_user.jid} if timestamp: dt = datetime.datetime.strptime(timestamp, '%Y-%m-%dT%H:%M:%SZ') interval = self.now - dt if interval.days == 0: dt += config.timezoneoffset msg = '(%s) ' % dt.strftime(timeformat) + msg logmsg(self.current_jid, msg) for u in self.get_message_receivers(): if str(u) not in but: self.send_message(u, msg) return True
def do_nick(self, new): new_nick = new.strip() if not new_nick: old_nick = self.current_user.nick self.reply(_('Your current nick is: %s') % old_nick) return try: old_nick = self.set_self_nick(new_nick) except (ValueError, ValidationError, Forbidden) as e: self.reply(_('Error: %s') % e) return bare = self.current_jid.bare() self.update_roster(bare, new_nick) self.reply(_('Your nick name has changed to "%s"!') % new_nick) if old_nick is not None: msg = _('%s is now known as %s.') % (old_nick, new_nick) logmsg(self.current_jid, msg) for u in self.get_message_receivers(): if u != bare: self.send_message(u, msg)