示例#1
0
def get_creators():
    creator_ids = settings.creators
    try:
        creators = map(lambda x: bot.friends().search(puid=x)[0],
                       creator_ids)
    except IndexError:
        users = [u.to_dict() for u in db.session.query(User).filter(
            User.id.in_(creator_ids)).all()]
        creators = map(lambda x: bot.friends().search(
            u['nick_name'], Sex=u['sex'], Signature=u['signature'])[0], users)
    return list(creators)
示例#2
0
def get_creators():
    creator_ids = settings.creators
    try:
        creators = map(lambda x: bot.friends().search(puid=x)[0],
                       creator_ids)
    except IndexError:
        users = [u.to_dict() for u in db.session.query(User).filter(
            User.id.in_(creator_ids)).all()]
        creators = map(lambda x: bot.friends().search(
            u['nick_name'], Sex=u['sex'], Signature=u['signature'])[0], users)
    return list(creators)
def get_creators():
    creator_ids = settings.creators
    try:
        creators = list(map(lambda x: bot.friends().search(puid=x)[0],
                            creator_ids))
    except IndexError:
        from views.api import json_api
        with json_api.app_context():
            users = [u.to_dict() for u in db.session.query(User).filter(
                User.id.in_(creator_ids)).all()]
            creators = list(map(lambda u: bot.friends().search(
                u['nick_name'], Sex=u['sex'], Signature=u['signature'])[0],
                users))
    return creators
示例#4
0
def send_message():
    data = request.get_json()
    type = data['type']
    ids = data['ids']
    group_id = data['gid']
    files = data['files']
    if type == 'group':
        send_type = data['send_type']
        groups = current_bot.groups()
        if send_type == 'contact':
            group = groups.search(puid=group_id)
            if not group:
                raise ApiException(errors.not_found)
            group = group[0]
            users = group.members
        else:
            users = sum([groups.search(puid=id) for id in ids], [])
    else:
        users = current_bot.friends()
    users = [u for u in users if u.puid in ids]
    for user in users:
        user.send_msg(content)
        for filename in files:
            suffix = filename.partition('.')[-1]
            file = os.path.join(config.UPLOAD_FOLDER, filename)
            if suffix in config.PIC_TYPES:
                user.send_image(file)
            else:
                user.send_file(file)
    unexpected = ids.difference(set([u.id for u in users]))
    if unexpected:
        raise ApiException(errors.not_found,
                           '如下puid用户未找到: {}'.format(','.join(unexpected)))
    return {}
示例#5
0
 def put(self):
     data = request.get_json()
     ids = data['ids']
     name = data['name']
     users = [u for u in current_bot.friends() if u.puid in ids]
     current_bot.create_group(users, topic=name)
     return {}
示例#6
0
def send_message():
    data = request.get_json()
    type = data['type']
    ids = data['ids']
    group_id = data['gid']
    files = data['files']
    if type == 'group':
        send_type = data['send_type']
        groups = current_bot.groups()
        if send_type == 'contact':
            group = groups.search(puid=group_id)
            if not group:
                raise ApiException(errors.not_found)
            group = group[0]
            users = group.members
        else:
            users = sum([groups.search(puid=id) for id in ids], [])
    else:
        users = current_bot.friends()
    users = [u for u in users if u.puid in ids]
    for user in users:
        user.send_msg(content)
        for filename in files:
            suffix = filename.partition('.')[-1]
            file = os.path.join(config.UPLOAD_FOLDER, filename)
            if suffix in config.PIC_TYPES:
                user.send_image(file)
            else:
                user.send_file(file)
    unexpected = ids.difference(set([u.id for u in users]))
    if unexpected:
        raise ApiException(
            errors.not_found,
            '如下puid用户未找到: {}'.format(','.join(unexpected)))
    return {}
示例#7
0
 def put(self):
     data = request.get_json()
     ids = data['ids']
     name = data['name']
     users = [u for u in current_bot.friends() if u.puid in ids]
     current_bot.create_group(users, topic=name)
     return {}
示例#8
0
def all_users():
    all_ids = set([u.puid for u in sum(
        [g.members for g in current_bot.groups()], [])])
    friend_ids = set([u.puid for u in current_bot.friends()])
    ids = all_ids.difference(friend_ids)
    users = [u.to_dict() for u in db.session.query(User).filter(
        User.id.in_(ids)).all()]
    return {'users': users}
示例#9
0
 def put(self):
     data = request.get_json()
     ids = data['ids'].split(',')
     name = data['name']
     users = [u for u in current_bot.friends() if u.puid in ids]
     group = current_bot.create_group(users, topic=name)
     group.send_msg('创建成功')
     return {}
示例#10
0
def all_users():
    all_ids = set([u.puid for u in sum(
        [g.members for g in current_bot.groups()], [])])
    friend_ids = set([u.puid for u in current_bot.friends()])
    # ids = all_ids.difference(friend_ids)
    ids = [u.id for u in db.session.query(User).all()]
    users = [u.to_dict() for u in db.session.query(User).filter(
        User.id.in_(ids)).all()]
    return {'users': users}