Ejemplo n.º 1
0
  def do_quiet(self, args):
    '''禁言某人,参数为昵称和时间(默认单位秒)'''
    if len(args) != 2:
      self.msg.reply('请给出昵称和时间。')
      return
    else:
      try:
        n = utils.parseTime(args[1])
      except ValueError:
        self.msg.reply('Sorry,我无法理解你说的时间。')
        return

    target = get_user_by_nick(args[0])
    if target is None:
      self.msg.reply('Sorry,查无此人。')
      return

    target.black_before = datetime.datetime.now() + datetime.timedelta(seconds=n)
    target.put()
    self.msg.reply(u'OK,禁言 %s %s。' % (target.nick, utils.displayTime(n)))
    send_to_all_except((self.sender.jid, target.jid),
                       (u'%s 已被禁言 %s。' % (target.nick, utils.displayTime(n))) \
                       .encode('utf-8'))
    xmpp.send_message(target.jid, u'你已被管理员禁言 %s。' % utils.displayTime(n))
    log_admin(self.sender, BLACK % (target.nick, n))
Ejemplo n.º 2
0
  def do_snooze(self, args):
    '''暂停接收消息,参数为时间(默认单位为秒)。再次发送消息时自动清除'''
    if len(args) != 1:
      self.msg.reply('你想停止接收消息多久?')
      return
    else:
      try:
        n = utils.parseTime(args[0])
      except ValueError:
        self.msg.reply('Sorry,我无法理解你说的时间。')
        return

    try:
      self.sender.snooze_before = datetime.datetime.now() + datetime.timedelta(seconds=n)
    except OverflowError:
      self.msg.reply('Sorry,你不能睡太久。')
      return
    self.sender.put()
    if n == 0:
      self.msg.reply('你已经醒来。')
    else:
      self.msg.reply(u'OK,停止接收消息 %s。' % utils.displayTime(n))
    log_onoff(self.sender, SNOOZE % n)