通过 Zapier 计算匹配的短语消息 Slackbot

Posted

技术标签:

【中文标题】通过 Zapier 计算匹配的短语消息 Slackbot【英文标题】:Count matching phrase message Slackbot via Zapier 【发布时间】:2018-12-29 02:50:50 【问题描述】:

我正在尝试创建一个响应斜杠命令的 Slackbot,计算给定短语在某个日期之后在某个频道中出现的次数。我已经成功地设置了一个 Zapier 管道来捕获请求、格式化搜索并返回结果。类似的东西:

in:#[channel] “[searchText]” after:[dd/mm/yyyy] 

Zapier 的 Slack 搜索集成似乎只能返回一条消息。有没有办法通过 Zapier 或替代方法来获取我正在寻找的消息的数量。

我可以通过 python 脚本来做到这一点,但我想以 Slackbot 的形式提供响应。 Zapier 的代码应用指出:

Unfortunately you cannot require external libraries or install libraries commonly referred to as "pip modules".

这使我无法在 Zapier 中编写 python sn-p,因为代码需要使用 slackclient

【问题讨论】:

【参考方案1】:

David 来自 Zapier 平台团队。

slackclient 只是他们(功能齐全,IMO)API 的包装器。要使用它的功能,您有几个选择:

    如果您喜欢编写 javascript,请创建一个带有“搜索消息并计数”操作的 custom private app。您可以使用slack JS sdk(因为CLI 可以使用npm 模块)或使用包含的z.request 来编写API 代码。然后你可以返回任何你想要的数据。如果你走这条路,你可以从the template开始。 如果您想坚持使用 Python,可以使用请求模块 (docs here) 自己进行上述 Slack API 调用。

希望这会为您指明正确的方向!

【讨论】:

【参考方案2】:

如果您想开发自己的逻辑:以下是计算频道中短语出现次数的方法:

    通过调用API方法conversations.history,检索特定时间范围内频道中的所有消息。

    浏览所有消息并计算包含该短语的消息

【讨论】:

以上是关于通过 Zapier 计算匹配的短语消息 Slackbot的主要内容,如果未能解决你的问题,请参考以下文章

Zapier Slack 私人频道:仅当用户在频道中时才发送消息

Slack 请求验证:无法使用签名密钥计算匹配的请求摘要

zapier 无法发送挑战值以启用 slack 事件 api

Zapier 在尝试将 google 表格与 slack 集成时不显示任何数据

在 Zapier 中解码原始数据

松弛登录触发器