我想为用户添加新角色,以便能够为Hubot提供正确的密码。
这是我现在的脚本:
module.exports = (robot) ->
robot.respond /PasswOrd (.*)/, (res) ->
paSS = res.match[1]
if paSS is "1234"
role = 'h1'
user = robot.brain.userForName(res.message.user.name)
#CODE TO ADD ROLE h1 FOR THIS USER ???
res.reply "Correct." + user.id
else
res.reply "Incorrect password."
使用@bot PasswOrd 1234
但我不知道如何添加角色 感谢。
答案 0 :(得分:0)
没有别的办法,我能够使用REST API“解决”这个问题。这是个坏主意吗?
我已经简化了我的实际代码来回答原始问题。
user = robot.brain.userForName(res.message.user.name)
robot.http("https://xxx.xxx.xxx/api/v1/users.info?userId=" + user['id'])
.headers("X-Auth-Token":"xxxxxxxxxxxxxxx", "X-User-Id":"xxxxxxx")
.get() (err, response, body) ->
Info = JSON.parse(body)
Info.user.roles.push("newRole")
robot.http("https://xxx.xxx.xxx/api/v1/users.update")
.headers("X-Auth-Token":"xxxxxxxxxxxxxxx", "X-User-Id":"xxxxxxx", "Content-type":"application/json")
.post('{"userId": "' + user['id'] + '", "data": { "roles": ' + JSON.stringify(Info.user.roles) + ' }}')