1

我有一个使用 botkit 构建的 slack bot,它正在侦听某个频道中用户上传的文件。我正在尝试处理同时上传的多个图像,以便让我的机器人等待所有图像都被处理,然后再继续响应每个图像。

我的应用程序设置为侦听 file_shared、file_created 和 file_public 事件,但是我只看到 file_shared 被文件上传触发。我想file_created 会在file_shared 之前触发,但似乎并非如此。

controller.on('file_created', function(res) {
   console.log("created!");
});

controller.on('file_public', function(res) {
   console.log("public!");
});

controller.on('file_shared', function(res) {
   console.log("shared!!");
});

在收听这些事件时,我只会得到“共享!!” 但不是“公开的!” 或“创造!” 在文件上传时,共享仅在文件处理完毕后触发。此外,我的中间件在文件上传时捕获了两条收到的消息,一条只有文件 ID,一条带有完整的文件信息。这会很有帮助,但它通常首先打印完整对象,然后打印 ID,而不是指示处理图像的唯一 ID 对象。

此输出的示例如下:

RCVD: { id: 'FAG4C3VNH',
created: 1525114400,
timestamp: 1525114400,
... more file object stuff }

RCVD: { id: 'FAG4C3VNH' }

shared!!

我正在寻找一种方法

a) 跟踪一次上传了多少文件或

b) 跟踪 Slack 何时处理文件以等待其完成。

非常感谢任何资源或想法!

4

0 回答 0