def whois(self, stanza, *args): """ 查询用户信息 """ nick = ' '.join(args[0:]) m = Logics.get_with_nick(nick) if not m: self._send_cmd_result(stanza, u"{0} 用户不存在".format(nick)) return bodys = [] isonline = bool([status.status for status in m.status if status.status]) status = u"在线" if isonline else u"离线" resource = " ".join(s.resource for s in m.status if s.resource) rp = Logics.get_today_rp(m.email) rp = rp if rp else u"尚未测试" say_times = 0 if not m.history else len(m.history) level = u"管理员" if m.email in ADMINS else u"成员" last_say = u"从未发言" if not m.last_say else m.last_say last_change = m.last_change if m.last_change else u"从未修改" change_times = Logics.get_info(m.email, "change_nick_times", 0).value mode = Logics.get_info(stanza.from_jid, 'mode').value is_rece = u"是" if mode != "quiet" else u"否" bodys.append(u"昵称: {0} 状态: {1}".format(m.nick, status)) bodys.append(u"资源: {0} 权限: {1}".format(resource, level)) bodys.append(u"今日人品: {0}".format(rp)) bodys.append(u"发言次数: {0}".format(say_times)) bodys.append(u"最后发言: {0}".format(last_say)) bodys.append(u"加入时间: {0}".format(m.join_date)) bodys.append(u"更改昵称次数: {0}".format(change_times)) bodys.append(u"上次更改时间: {0}".format(last_change)) bodys.append(u"是否接受消息: {0}".format(is_rece)) self._send_cmd_result(stanza, "\n".join(bodys))
def whois(self, stanza, *args): """ 查询用户信息 """ nick = ' '.join(args[0:]) m = Logics.get_with_nick(nick) if not m: self._send_cmd_result(stanza, u"{0} 用户不存在".format(nick)) return bodys = [] isonline = bool( [status.status for status in m.status if status.status]) status = u"在线" if isonline else u"离线" resource = " ".join(s.resource for s in m.status if s.resource) rp = Logics.get_today_rp(m.email) rp = rp if rp else u"尚未测试" say_times = 0 if not m.history else len(m.history) level = u"管理员" if m.email in ADMINS else u"成员" last_say = u"从未发言" if not m.last_say else m.last_say last_change = m.last_change if m.last_change else u"从未修改" change_times = Logics.get_info(m.email, "change_nick_times", 0).value mode = Logics.get_info(stanza.from_jid, 'mode').value is_rece = u"是" if mode != "quiet" else u"否" bodys.append(u"昵称: {0} 状态: {1}".format(m.nick, status)) bodys.append(u"资源: {0} 权限: {1}".format(resource, level)) bodys.append(u"今日人品: {0}".format(rp)) bodys.append(u"发言次数: {0}".format(say_times)) bodys.append(u"最后发言: {0}".format(last_say)) bodys.append(u"加入时间: {0}".format(m.join_date)) bodys.append(u"更改昵称次数: {0}".format(change_times)) bodys.append(u"上次更改时间: {0}".format(last_change)) bodys.append(u"是否接受消息: {0}".format(is_rece)) self._send_cmd_result(stanza, "\n".join(bodys))
def rp(self, stanza, *args): """ 测试今日RP """ frm = stanza.from_jid nick = Logics.get_one(frm).nick rp = Logics.get_today_rp(frm) if not rp: t = random.randrange(1, 10) rps = [random.randrange(0, 100) for i in xrange(0, t)] rp = rps[random.randrange(0, len(rps) -1)] if len(rps) > 1 else rps[0] Logics.set_info(frm, "rp", rp) Logics.set_info(frm, "rp_date", time.time()) body = ">>>{0} 进行了今日人品检测,人品值为 {1}".format(nick, rp) self._message_bus.send_sys_msg(stanza, body) else: body = "你已经检测过了今天的人品,人品值为 {0}".format(rp) self._send_cmd_result(stanza, body)
def rp(self, stanza, *args): """ 测试今日RP """ frm = stanza.from_jid nick = Logics.get_one(frm).nick rp = Logics.get_today_rp(frm) if rp == None: t = random.randrange(1, 10) rps = [random.randrange(0, 100) for i in xrange(0, t)] rp = rps[random.randrange(0, len(rps) -1)] if len(rps) > 1 else rps[0] Logics.set_today_rp(frm, rp) body = ">>>{0} 进行了今日人品检测,人品值为 {1}".format(nick, rp) self._message_bus.send_sys_msg(stanza, body) self._honor.rp_honor(nick, rp, partial(self._message_bus.send_sys_msg, stanza)) else: body = "你已经检测过了今天的人品,人品值为 {0}".format(rp) self._send_cmd_result(stanza, body)
def rp(self, stanza, *args): """ 测试今日RP """ frm = stanza.from_jid nick = Logics.get_one(frm).nick rp = Logics.get_today_rp(frm) if not rp: t = random.randrange(1, 10) rps = [random.randrange(0, 100) for i in xrange(0, t)] rp = rps[random.randrange(0, len(rps) - 1)] if len(rps) > 1 else rps[0] Logics.set_info(frm, "rp", rp) Logics.set_info(frm, "rp_date", time.time()) body = ">>>{0} 进行了今日人品检测,人品值为 {1}".format(nick, rp) self._message_bus.send_sys_msg(stanza, body) else: body = "你已经检测过了今天的人品,人品值为 {0}".format(rp) self._send_cmd_result(stanza, body)
def rp(self, stanza, *args): """ 测试今日RP """ frm = stanza.from_jid nick = Logics.get_one(frm).nick rp = Logics.get_today_rp(frm) if rp == None: t = random.randrange(1, 10) rps = [random.randrange(0, 100) for i in xrange(0, t)] rp = rps[random.randrange(0, len(rps) - 1)] if len(rps) > 1 else rps[0] Logics.set_today_rp(frm, rp) body = ">>>{0} 进行了今日人品检测,人品值为 {1}".format(nick, rp) self._message_bus.send_sys_msg(stanza, body) self._honor.rp_honor( nick, rp, partial(self._message_bus.send_sys_msg, stanza)) else: body = "你已经检测过了今天的人品,人品值为 {0}".format(rp) self._send_cmd_result(stanza, body)