2016-08-19 76 views
3

我正在使用Python,它的Slacker API將消息發佈到閒置頻道,並且它很好地發佈消息。Slack API:點擊按鈕時做點事

現在我想要做的是創建一個按鈕,說,更多信息當它被點擊時,我想顯示一個項目列表。 但是,單擊該按鈕時,slackbotoh no, something weng wrong, Please try that again

下面是一個例子:link

下面是我的JSON和代碼

msg = "<!here> Hello guys! " 
moreInfo = ['person', 'person2', 'person3'] 
message = [{ 
"title": "Lunch time has been decided", 
"text": "You will also be joining", 
"actions": [ 
    { 
     "name": "buttonName", 
     "text": "More Info", 
     "type": "button", 
     "value": moreInfo 
    }] 

}] 
slack.chat.post_message('#teamChannel', msg, username='my_username', attachments=message) 

這是什麼樣子在農閒時我點擊更多信息按鈕。 enter image description here

任何幫助表示讚賞!謝謝:)

回答

3

您是否已經有一個按鈕端點設置?如果沒有,你會看到這個錯誤信息。

或者如果您犯了同樣的錯誤,您使用的是不正確的標記。這從Slack文檔中是不明顯的。您可以使用自定義集成bot標記發佈消息,包括使用附件(即交互式按鈕)。但是,如果您想要實際響應按鈕按鈕,則需要使用完整的Slack應用程序令牌發佈消息(即使您不打算將應用程序發佈到野外)。這意味着爲您的oauth2流創建一個終端,將您的應用添加到Slack團隊,並在那裏獲取您的bot令牌。

  1. 創建一個Slack應用程序,如果你還沒有。
  2. 建立OAuth GET端點(如/slack/authorize
  3. 設置你的時差應用程序的「重定向URI」你的身份驗證端點
  4. 你的終點應該期望在其查詢參數code。用您的應用程序的client_id,client_secretcode調用Slack API oauth.access以交換上述應用程序令牌。要從機器人發佈交互式消息,您需要使用bot令牌(前綴爲「xoxo-」)。
+1

謝謝,你是對的,我不得不創建一個端點。 Slack API文檔有點無組織,很難弄明白。 –

+0

我對此有疑問。根據api文檔,對用戶按鈕操作的響應會替換原始郵件。 – ramin

+0

@ramin您不需要替換原始郵件,但可以通過將原始郵件的message_ts(時間戳)附加到chat.update API。 – Keller