如何使用Slack API调用/poll命令?

How do you invoke the /poll command using the Slack API?(如何使用Slack API调用/poll命令?)

本文介绍了如何使用Slack API调用/poll命令?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的闲置频道支持简单轮询应用程序中的/poll命令。如何使用Slack API调用此命令?

使用python slack(er) API module:

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')

邮件只是以纯文本形式显示在#测试频道中,而不是转换为投票。

我尝试在消息中使用<!poll>而不是/poll,这在message formatting documenation中有些隐含,但结果相同。

注意:这个问题现在有点陈旧了,在重新访问时,我发现我的代码使用了现在称为legacy token的东西,它不允许指定任何OAuth permission scopes。旧版令牌已具有此情况所需的权限。

接口

必须使用chat.command推荐答案函数,而不是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"'
)

感谢V13Axel in this Wee-Slack bug tracker为给我提供线索的chat.command提供了一些调试信息。

根据@Erik_Kalkoken的unofficial documentation,chat.command

需要范围post。由于此作用域似乎在应用配置窗口中不可用,您需要提供legacy token才能正常工作。

这篇关于如何使用Slack API调用/poll命令?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何使用Slack API调用/poll命令?

基础教程推荐