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

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

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) track how many files are uploaded at one time or

b) track when a file is being processed by Slack in order to wait for it's completion.

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