Javascript 如何将松弛事件数据传递到客户端?
我正在尝试创建一个基于SlackAPI的简单聊天。进展顺利,但我遇到了困难。我有这个方法:Javascript 如何将松弛事件数据传递到客户端?,javascript,node.js,slack,Javascript,Node.js,Slack,我正在尝试创建一个基于SlackAPI的简单聊天。进展顺利,但我遇到了困难。我有这个方法: slackEvents.on('message', (event) => { console.log(`Received a message event: user ${event.user} in channel ${event.channel} says ${event.text}`); }); 任何时候有人在slack应用程序中发送消息时都会触发该事件。 然而,我无法弄清楚在触发时如
slackEvents.on('message', (event) => {
console.log(`Received a message event: user ${event.user} in channel ${event.channel} says ${event.text}`);
});
任何时候有人在slack应用程序中发送消息时都会触发该事件。
然而,我无法弄清楚在触发时如何将此信息发送到客户端
我尝试过res.send,但显然没有给出res参数,它不是一个app.post
函数,因此没有响应或任何东西。我已经对他们的API进行了广泛的研究,但他们并没有给出太多的代码示例
var express = require("express");
var app = express();
var bodyParser = require("body-parser");
const { WebClient, ErrorCode, } = require('@slack/client');
const { createEventAdapter } = require('@slack/events-api');
const slackEvents = createEventAdapter(process.env.SLACK_SIGNING_SECRET);
app.use('/slackevents', slackEvents.expressMiddleware());
app.use(bodyParser.json())
slackEvents.on('message', (event) => {
console.log(event);
console.log(`Received a message event: user ${event.user} in channel ${event.channel} says ${event.text}`);
res.send(event.text);
});
我希望在服务器控制台上打印的行被传递到客户端。提前感谢。解决此问题的通常方法是:Slack应用程序的所有代码都在服务器(例如node.js)上运行,而不是在浏览器中运行。您的意思是否与您编写的相反?您的意思是在脚本标记客户端运行上面的代码?我是否正确理解您的问题,您的代码的下面部分应该在客户端(浏览器)上运行?这是不寻常的。如果你真的想在客户端上运行该代码,你需要将事件消息存储在服务器上(例如,在队列中),然后构建自己的API从客户端检索这些事件。解决此问题的通常方法是:Slack应用程序的所有代码都在服务器上运行(例如node.js)不在浏览器中。你的意思与你写的相反吗?您的意思是在脚本标记客户端运行上面的代码?我是否正确理解您的问题,您的代码的下面部分应该在客户端(浏览器)上运行?这是不寻常的。如果您真的想在客户端上运行该代码,则需要将事件消息存储在服务器上(例如,在队列中),然后构建自己的API以从客户端检索这些事件。