如何设置基本用户权限,以使用户无法运行“Hubot die”或“Hubot show storage”之类的命令?

我可以看到有一个名为hubot-auth的脚本,但这似乎是在其他脚本中实现它而不控制现有命令。

最佳答案

Automation and Monitoring with Hubot书(无耻的插件)中有一章对此进行了介绍。摘抄:

分配角色

只有管​​理员用户可以分配角色。分配前无需创建角色。所有你有
要做的就是告诉Hubot谁在使用hubot <user> has <role> role。而且您不再需要使用
那些神秘的ID:

Tomas     hubot Jesse Pinkman has developer role
Hubot     Tomas: Ok, Jesse Pinkman has the 'developer' role.

使用hubot what roles does <user> have?检查分配的角色:
Tomas     hubot what roles does Jesse Pinkman have?
Hubot     Tomas: Jesse Pinkman has the following roles: developer.

要删除某人的角色,请使用hubot <user> does not have <role> role:
Tomas     hubot Jesse Pinkman does not have developer role
Hubot     Tomas: Ok, Jesse Pinkman doesn't have the 'developer' role.

您可以将多个角色分配给多个用户。

应用角色

现在,该打破坏消息了。虽然Hubot Auth非常灵活,但是您必须编辑自己的
脚本来应用这些角色。幸运的是,编辑的内容不多。有一个简单的功能
检查用户是否具有角色robot.Auth.hasRole(msg.envelope.user, '<role>')
这是您在脚本中使用它的方式:
module.exports = (robot) ->
  robot.respond /do dangerous stuff/i, (msg) ->
    if robot.auth.hasRole(msg.envelope.user, 'developer')
      doDangerousStuff(msg)
    else
      msg.reply "Sorry, you don't have 'developer' role"

  doDangerousStuff = (msg) ->
    msg.send "Doing dangerous stuff"

关于hubot - 如何设置Hubot基本权限?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24676910/

10-10 23:09