2017-01-28 40 views
3

這是關於使用Botkit開發Slack bot的。對於Slack bot使用botkit,有沒有辦法在對話中更新消息?

Slack允許您更新信息 - 例如,如果您從用戶那裏獲取輸入信息(無論是通過文本還是按鈕),則可以根據該信息更新信息。 (更多關於這裏,在「替換原始信息」下:https://api.slack.com/docs/message-buttons)。

Botkit通過replyInteractive()支持,如下所示:https://github.com/howdyai/botkit/blob/master/readme-slack.md#message-buttons

然而,Botkit的一個關鍵功能是支持對話線程。雖然這些允許您提出問題並允許按鈕作爲答案,但我在交談中看不到交互式回覆(即更新消息)的方式。

任何想法如何做到這一點?當前不支持的決定性答案也會有所幫助。謝謝!

回答

1

這是可能的,但不是一個明顯的方式。

bot.startConversation(message, function(err, convo) { 
    convo.ask({ 
    text: "Here's some pretext", 
    attachments: [{ 
     "text": "More text", 
     "fallback": "Fallback text", 
     "callback_id": "Test", 
     "actions": [ 
     { 
      "name": "yes", 
      "text": "Yes", 
      "value": "yes", 
      "type": "button", 
     }, 
     { 
      "name": "no", 
      "text": "No", 
      "value": "no", 
      "type": "button", 
     } 
     ] 
    }] 
    }, function(reply, convo) {// convo.ask callback 
    bot.replyInteractive(reply, "This text replaces the previous message"); 
    convo.say("This is a regular message"); 
    convo.next(); 
    }); 
}); 

注意如何replyInteractive()使用reply,而不是message

我知道這是晚了,但我希望它可以幫助別人。

+0

謝謝!事實上,這種方法是有效的,這就是我最終做的。我應該在這裏發佈它,但忘了:(謝謝你發佈,我確信希望它可以幫助未來的人,因爲你指出它並不明顯。 – Chasseur

相關問題