仅限Hubot消息输入/离开特定频道

时间:2017-08-01 18:55:05

标签: coffeescript slack hubot

创建一个消息列表,当有人加入公司时,Hubot可以随机选择这些消息列表以显示在#general频道中。我已将消息部分工作,但它正在任何频道上进行...我怎样才能将其限制为特定频道?更进一步,如果可能的话,想要输入输入的用户名并将其粘贴到句子中。

谢谢!

validWelcome = [
      'We have a new kid on the block, Hello!'
      'Welcome the newest member to the team!'
      'Thanks for joining us!'
      'Happy to have you here!'
    ]

  module.exports = (robot) ->
    robot.enter (msg) ->
      msg.send {room: '#integration-test'}, msg.random validWelcome

1 个答案:

答案 0 :(得分:0)

需要考虑两个问题

  1. 当用户加入房间时,您使用的聊天软件是否通过适配器向Hubo​​t公开了足够的信息(参见docs
  2. 如果有人离开并重新加入#general房间,是否要显示此消息?
  3. 猜测你正在使用Slack,你可以看到Slack适配器向你发送了什么here。您真的想要访问channel.name,但您可以从channel.id获取msg.room并从那里获取并解决#1。如果您不使用Slack,请找到适配器的来源并搜索EnterMessage

    如果您想要解决#2,您需要使用Hubot brain做一些聪明的事情,并记录您为每个用户发送过欢迎的事实。