2017-04-24 140 views
0

我想從一個鬆弛的飼料中獲取一些信息。我的計劃是使用它通過掃描某個詞的頻道來將消息寫入設備。Python和Slack API,獲取頻道信息?

我無法從我的頻道獲取任何信息以查看我擁有什麼樣的信息或如何使用它們。

我試過閱讀文檔和示例,似乎無法找到任何答案,爲什麼這個非常簡單的代碼似乎對我來說一直存在關鍵錯誤。

無論如何,繼承人的代碼。也許你可以幫忙。謝謝。

from slackclient import SlackClient 
import os 

slack_token = "xoxp-173120660817xxxxxxxxxxf" 
sc = SlackClient(slack_token) 
fishtankchannel = "#fishtank" 
sc.api_call("chat.postMessage", channel=fishtankchannel, text="worked") 
testinfo = sc.api_call("channels.info", channel=fishtankchannel) 
print testinfo["channel"]["name"] 

在第9行失敗的錯誤。郵件消息命令起作用,我的鬆散密鑰有效。

+0

'print(testinfo)'看看它包含什麼?當字典密鑰不存在但被請求時引發KeyErrors。 – castis

+0

如果我將打印更改爲 print(testinfo) 它打印,但表示它沒有任何信息。我不確定它是如何無法從它剛剛發送消息的頻道收集信息的。 –

+0

想通了。 雖然我的postmessage與通道是顯示的名稱在懈怠,要求它的信息(channels.info)我需要獲得通道的編碼名稱。 我想這是一個更好的方法來做到這一點,但我所做的是更改並打印命令channels.list,然後找到我正在查找的頻道ID,並將其放在channels.info調用中的頻道名稱位置。 –

回答

1

想通了。雖然我的postmessage與頻道是顯示的名稱在懈怠,要求它的信息(channels.info)我需要獲得該頻道的編碼名稱。我想這是一個更好的方式來做到這一點,但我所做的是更改並打印命令channels.list,然後找到我正在查找的頻道ID,並將其替換爲channels.info調用中的頻道名稱。

+0

您可能需要包含_working_代碼。見[回答]。 – boardrider

相關問題