Ejemplo n.º 1
0
def send_to_msg(stanza, to, body):
    frm = stanza.get_from()
    email = '%s@%s' % (frm.node, frm.domain)
    nick = get_nick(email)
    add_history(email, to, body)
    body = "[%s 悄悄对你说] %s" % (nick, body)
    return send_msg(stanza, to, body)
Ejemplo n.º 2
0
    def nick(self, stanza, *args):
        """更改昵称 eg. $nick yournewnickname"""
        if len(args) >= 1:
            nick = ' '.join(args[0:])
            frm = stanza.get_from()
            email = "%s@%s" % (frm.node, frm.domain)
            oldnick = get_nick(email)
            r = edit_member(email, nick = nick)
            if r:
                body = "%s 更改昵称为 %s" % (oldnick, nick)
                m = send_all_msg(stanza, body)
            else:
                m = self._send_cmd_result(stanza, '昵称已存在')
        else:
            m = self.help(stanza, 'nick')


        return m
Ejemplo n.º 3
0
 def code(self, stanza, *args):
     """<type> <code> 贴代码,可以使用$codetypes查看允许的代码类型"""
     if len(args) > 1:
         email = get_email(stanza.get_from())
         nick = get_nick(email)
         typ = args[0]
         codes = _add_commends(args[1:], typ, nick)
         codes = ''.join(codes[0:2]) + ' '.join(codes[2:])
         poster = "Pythoner Club: %s" % nick
         r = paste_code(poster,typ, codes)
         if r:
             m = send_all_msg(stanza, r)
             mc = self._send_cmd_result(stanza, r)
             m.append(mc)
         else:
             m = self._send_cmd_result(stanza, 'something wrong')
     else:
         m = self.help(stanza, 'code')
     return m
Ejemplo n.º 4
0
def send_all_msg(stanza, body):
    frm = stanza.get_from()
    email = '%s@%s' % (frm.node, frm.domain)
    nick = get_nick(email)
    add_history(email, 'all', body)
    tos = get_members(email)
    ms = []
    if '@' in body:
        r = re.findall(r'@<(.*?)>', body)
        mem = [get_member(nick=n) for n in r if get_member(nick = n)]
        if mem:
            if body.startswith('@<'):
                b = re.sub(r'^@<.*?>', '', body)
                return send_to_msg(stanza, mem[0], b)
            b = '%s 提到了你说: %s' % (nick, body)
            ml = [send_to_msg(stanza, to, b) for to in mem]
            ms += ml
    elif body.strip() == 'help':
        return send_command(stanza, '$help')
    body = "[%s] %s" % (nick, body)
    for to in tos:
        m = send_msg(stanza, to, body)
        ms.append(m)
    return ms