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

时间:2018-07-20 18:33:33

标签: bots slack zapier

我正在尝试创建一个Slashbot来响应斜杠命令,计算在特定日期之后某个通道中给定短语出现的次数。我已经成功设置了一个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代码段,因为代码需要使用slackclient

2 个答案:

答案 0 :(得分:1)

Zapier Platform团队的David在这里。

slackclient只是其(相当多功能的IMO)API的包装。要使用其功能,您有几个选择:

  1. 如果您愿意编写JavaScript,请使用“搜索消息并计数”操作创建一个custom private app。您可以使用slack JS sdk(因为CLI可以使用npm模块)或使用随附的z.request来编写API代码。然后,您可以返回所需的任何数据。如果走这条路,可以开始使用the template
  2. 如果您想使用Python,可以使用请求模块(docs here)自行进行上述Slack API调用。

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

答案 1 :(得分:0)

如果您想开发自己的逻辑,请执行以下操作:这是计算通道中某个短语出现的次数的方法:

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

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