2017-04-24 150 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