【问题标题】:Return the original message sent to Hubot返回发送给 Hubot 的原始消息
【发布时间】:2014-03-23 12:16:13
【问题描述】:

有没有办法返回 Hubot 听到/响应的原始消息?

尝试访问message@message,但调用时似乎出错了。

寻找类似的东西:

robot.respond /test/, (msg) ->
  msg.send msg.the_message_that_the_user_typed_in

在此示例中,它将回显用户输入的整个文本。

实际上,我会玩弄文本并删除一些内容,但我想要原始文本的精确副本以供随意使用。

【问题讨论】:

    标签: node.js coffeescript hubot


    【解决方案1】:

    尝试使用 catchAll:

    robot.catchAll (msg) ->
      msg.send msg.message.text
    

    但是它将匹配没有其他匹配器匹配的消息。如果你想完全捕捉到所有东西,你必须这样做:

    robot.respond /(.*)/, (msg) ->
      msg.send msg.match[1]
    

    更新:

    问题是如何获取原始消息,而不是如何捕获所有消息。答:

    robot.respond /test/, (msg) ->
      msg.send msg.message.text
    

    【讨论】:

    • 我不想匹配聊天室里说的所有内容,或者对hubot说的所有内容,只想能够使用hubot正在响应的原始文本。
    • 我想你可以做这样的事情,然后再做进一步的检查?这是一项昂贵的手术吗?
    • 如果您不拨打msg.finish(),其他听众将继续处理您的消息。而原文就是msg.message.text
    猜你喜欢
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 2021-05-02
    • 2017-11-07
    • 2012-08-09
    相关资源
    最近更新 更多