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))
评论列表
文章目录