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
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 {}
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 {}
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 {}
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}
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 {}
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}