Civ*_*Fan 6 python slack-api slack
我的松弛频道支持/pollSimple Poll应用程序的命令.如何使用Slack API调用此命令?
from slacker import Slacker
# Using what's now called a "legacy token"
slack = Slacker('my-token')
slack.chat.post_message(
'#test',
'/poll "Do you prefer cats or dogs?" "Cats" "Dogs"',
as_user=False,
username="Poll Bot",
icon_emoji=':question:',
parse='full')
Run Code Online (Sandbox Code Playgroud)
该消息仅作为纯文本显示在#test通道中,未转换为轮询.
我尝试使用<!poll>而不是/poll在消息中,就像消息格式化文档中隐含的一样,但结果相同.
注意:这个问题现在有点旧了,在重新访问时我发现我的代码正在使用现在称为遗留令牌的代码,它不允许指定任何OAuth权限范围.旧版令牌已具有此案例所需的权限.
Civ*_*Fan 12
您必须使用"未记录的" chat.commandAPI函数而不是chat.postMessage.此功能对channel参数的友好程度稍差 - 您必须提供通道ID,而不是人性化的通道名称.
channel_id = slack.channels.get_channel_id('test')
slack.chat.command(
channel=channel_id,
command='/poll',
text='"Do you prefer cats or dogs?" "Cats" "Dogs"'
)
Run Code Online (Sandbox Code Playgroud)
感谢V13Axel在这个Wee-Slack错误跟踪器中为我提供了一些调试信息chat.command.
根据@ Erik_Kalkoken的非官方文档,chat.command
需要范围
post.由于此范围似乎在应用程序配置窗口中不可用,因此您需要提供旧标记才能使其正常工作.