random.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:beproudbot 作者: beproud 项目源码 文件源码
def random_command(message, subcommand=None):
    """
    ???????????????????????????
    - https://github.com/os/slacker
    - https://api.slack.com/methods/channels.info
    - https://api.slack.com/methods/users.getPresence
    - https://api.slack.com/methods/users.info
    """

    if subcommand == 'help':
        message.send(HELP)
        return

    # ???????????????
    channel = message.body['channel']
    webapi = slacker.Slacker(settings.API_TOKEN)
    try:
        cinfo = webapi.channels.info(channel)
        members = cinfo.body['channel']['members']
    except slacker.Error:
        try:
            cinfo = webapi.groups.info(channel)
            members = cinfo.body['group']['members']
        except slacker.Error:
            # TODO: ???????????????
            # ??????????????return
            return

    # bot ? id ???
    bot_id = message._client.login_data['self']['id']
    members.remove(bot_id)

    member_id = None

    if subcommand != 'active':
        member_id = random.choice(members)
    else:
        # active ??????????? presence ?????
        random.shuffle(members)
        for member in members:
            presence = webapi.users.get_presence(member_id)
            if presence.body['presence'] == 'active':
                member_id = member
                break

    user_info = webapi.users.info(member_id)
    name = user_info.body['user']['name']
    message.send('{} ?????????'.format(name))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号