misc.py 文件源码

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

项目:pyconjpbot 作者: pyconjp 项目源码 文件源码
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':
        botsend(message, '''- `$random`: ????????????????????????
- `$random active`: ????????active?????????????????
''')
        return

    # ???????????????
    channel = message.body['channel']
    webapi = slacker.Slacker(settings.API_TOKEN)
    cinfo = webapi.channels.info(channel)
    members = cinfo.body['channel']['members']

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

    member_id = None
    while not member_id:
        # ??????????????????
        member_id = random.choice(members)
        if subcommand == 'active':
            # active ??????????? presence ?????
            presence = webapi.users.get_presence(member_id)
            if presence.body['presence'] == 'away':
                members.remove(member_id)
                member_id = None

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


问题


面经


文章

微信
公众号

扫码关注公众号