Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将松弛事件数据传递到客户端?_Javascript_Node.js_Slack - Fatal编程技术网

Javascript 如何将松弛事件数据传递到客户端?

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应用程序中发送消息时都会触发该事件。 然而,我无法弄清楚在触发时如

我正在尝试创建一个基于SlackAPI的简单聊天。进展顺利,但我遇到了困难。我有这个方法:

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以从客户端检索这些事件。