Javascript 无法在ES5 Slack API中打开WebSocket
你好,我正试图创建一个我的松弛机器人。我在使用纯JavaScript时取得了成功,但出于某些原因,我决定切换到ES5。虽然客户端启动rtm,但无法使用WebSocket进行身份验证。我在下面添加我的文件来演示我的代码。请毫不犹豫地投票支持您的答案,请帮助!谢谢!:) Javascript index.jsJavascript 无法在ES5 Slack API中打开WebSocket,javascript,node.js,ecmascript-5,slack-api,Javascript,Node.js,Ecmascript 5,Slack Api,你好,我正试图创建一个我的松弛机器人。我在使用纯JavaScript时取得了成功,但出于某些原因,我决定切换到ES5。虽然客户端启动rtm,但无法使用WebSocket进行身份验证。我在下面添加我的文件来演示我的代码。请毫不犹豫地投票支持您的答案,请帮助!谢谢!:) Javascript index.js 'use strict'; const service = require('../server/service'); const http = require('http'); const
'use strict';
const service = require('../server/service');
const http = require('http');
const slackClient = require('../server/slackClient');
const server = http.createServer(service);
const slackToken = '-----SlackTokenHere----';
const slackLogLevel = 'verbose';
const rtm = slackClient.init(slackToken, slackLogLevel, witClient);
rtm.start();
slackClient.addAuthenticatedHandler(rtm, () => server.listen(3000));
server.on('listening', function() {
console.log(`Slackster is listening on ${server.address().port} in ${service.get('env')} mode.`);
});
'use strict';
const RtmClient = require('@slack/client').RtmClient;
const CLIENT_EVENTS = require('@slack/client').CLIENT_EVENTS;
const RTM_EVENTS = require('@slack/client').RTM_EVENTS;
let rtm = null
let nlp = null
function handleOnAuthenticated(rtmStartData) {
console.log(`Logged in as ${rtmStartData.self.name} of team ${rtmStartData.team.name}, but not yet connected to a channel`);
}
function handleOnMessage(message) {
console.log(message);
}
function addAuthenticatedHandler(rtm, handler) {
rtm.on(CLIENT_EVENTS.RTM.AUTHENTICATED, handler);
}
module.exports.init = function slackClient(token, logLevel, nlpClient) {
rtm = new RtmClient(token, {logLevel: logLevel});
nlp = nlpClient;
rtm.on(RTM_EVENTS.MESSAGE, handleOnMessage);
return rtm;
}
module.exports.addAuthenticatedHandler = addAuthenticatedHandler;
import http from 'http';
import express from 'express';
const server = http.createServer(express);
import slackClient from './Messenger_Clients/slackClient';
const slackToken = '------YourSlackToken------';
const slackLogLevel = 'verbose';
slackClient.init(slackToken, slackLogLevel, null);
slackClient.addAuthenticatedHandler(() => server.listen(3000));
server.on('listening', function() {
console.log(`Slackster is listening on ${server.address().port} in ${service.get('env')} mode.`);
});
import { RtmClient } from '@slack/client';
import { CLIENT_EVENTS } from '@slack/client';
import { RTM_EVENTS } from '@slack/client';
class slackClient {
static init(token, logLevel, null) {
this.rtm = new RtmClient(token, {logLevel: logLevel});
this.nlp = nlpClient;
this.rtm.on(RTM_EVENTS.MESSAGE, this.handleOnMessage);
this.rtm.start();
}
static addAuthenticatedHandler(handler) {
this.rtm.on(CLIENT_EVENTS.RTM_AUTHENTICATED, handler);
}
handleOnMessage(message) {
console.log(message);
}
}
module.exports = slackClient;
slackClient.js
'use strict';
const service = require('../server/service');
const http = require('http');
const slackClient = require('../server/slackClient');
const server = http.createServer(service);
const slackToken = '-----SlackTokenHere----';
const slackLogLevel = 'verbose';
const rtm = slackClient.init(slackToken, slackLogLevel, witClient);
rtm.start();
slackClient.addAuthenticatedHandler(rtm, () => server.listen(3000));
server.on('listening', function() {
console.log(`Slackster is listening on ${server.address().port} in ${service.get('env')} mode.`);
});
'use strict';
const RtmClient = require('@slack/client').RtmClient;
const CLIENT_EVENTS = require('@slack/client').CLIENT_EVENTS;
const RTM_EVENTS = require('@slack/client').RTM_EVENTS;
let rtm = null
let nlp = null
function handleOnAuthenticated(rtmStartData) {
console.log(`Logged in as ${rtmStartData.self.name} of team ${rtmStartData.team.name}, but not yet connected to a channel`);
}
function handleOnMessage(message) {
console.log(message);
}
function addAuthenticatedHandler(rtm, handler) {
rtm.on(CLIENT_EVENTS.RTM.AUTHENTICATED, handler);
}
module.exports.init = function slackClient(token, logLevel, nlpClient) {
rtm = new RtmClient(token, {logLevel: logLevel});
nlp = nlpClient;
rtm.on(RTM_EVENTS.MESSAGE, handleOnMessage);
return rtm;
}
module.exports.addAuthenticatedHandler = addAuthenticatedHandler;
import http from 'http';
import express from 'express';
const server = http.createServer(express);
import slackClient from './Messenger_Clients/slackClient';
const slackToken = '------YourSlackToken------';
const slackLogLevel = 'verbose';
slackClient.init(slackToken, slackLogLevel, null);
slackClient.addAuthenticatedHandler(() => server.listen(3000));
server.on('listening', function() {
console.log(`Slackster is listening on ${server.address().port} in ${service.get('env')} mode.`);
});
import { RtmClient } from '@slack/client';
import { CLIENT_EVENTS } from '@slack/client';
import { RTM_EVENTS } from '@slack/client';
class slackClient {
static init(token, logLevel, null) {
this.rtm = new RtmClient(token, {logLevel: logLevel});
this.nlp = nlpClient;
this.rtm.on(RTM_EVENTS.MESSAGE, this.handleOnMessage);
this.rtm.start();
}
static addAuthenticatedHandler(handler) {
this.rtm.on(CLIENT_EVENTS.RTM_AUTHENTICATED, handler);
}
handleOnMessage(message) {
console.log(message);
}
}
module.exports = slackClient;
ES5
index.js
'use strict';
const service = require('../server/service');
const http = require('http');
const slackClient = require('../server/slackClient');
const server = http.createServer(service);
const slackToken = '-----SlackTokenHere----';
const slackLogLevel = 'verbose';
const rtm = slackClient.init(slackToken, slackLogLevel, witClient);
rtm.start();
slackClient.addAuthenticatedHandler(rtm, () => server.listen(3000));
server.on('listening', function() {
console.log(`Slackster is listening on ${server.address().port} in ${service.get('env')} mode.`);
});
'use strict';
const RtmClient = require('@slack/client').RtmClient;
const CLIENT_EVENTS = require('@slack/client').CLIENT_EVENTS;
const RTM_EVENTS = require('@slack/client').RTM_EVENTS;
let rtm = null
let nlp = null
function handleOnAuthenticated(rtmStartData) {
console.log(`Logged in as ${rtmStartData.self.name} of team ${rtmStartData.team.name}, but not yet connected to a channel`);
}
function handleOnMessage(message) {
console.log(message);
}
function addAuthenticatedHandler(rtm, handler) {
rtm.on(CLIENT_EVENTS.RTM.AUTHENTICATED, handler);
}
module.exports.init = function slackClient(token, logLevel, nlpClient) {
rtm = new RtmClient(token, {logLevel: logLevel});
nlp = nlpClient;
rtm.on(RTM_EVENTS.MESSAGE, handleOnMessage);
return rtm;
}
module.exports.addAuthenticatedHandler = addAuthenticatedHandler;
import http from 'http';
import express from 'express';
const server = http.createServer(express);
import slackClient from './Messenger_Clients/slackClient';
const slackToken = '------YourSlackToken------';
const slackLogLevel = 'verbose';
slackClient.init(slackToken, slackLogLevel, null);
slackClient.addAuthenticatedHandler(() => server.listen(3000));
server.on('listening', function() {
console.log(`Slackster is listening on ${server.address().port} in ${service.get('env')} mode.`);
});
import { RtmClient } from '@slack/client';
import { CLIENT_EVENTS } from '@slack/client';
import { RTM_EVENTS } from '@slack/client';
class slackClient {
static init(token, logLevel, null) {
this.rtm = new RtmClient(token, {logLevel: logLevel});
this.nlp = nlpClient;
this.rtm.on(RTM_EVENTS.MESSAGE, this.handleOnMessage);
this.rtm.start();
}
static addAuthenticatedHandler(handler) {
this.rtm.on(CLIENT_EVENTS.RTM_AUTHENTICATED, handler);
}
handleOnMessage(message) {
console.log(message);
}
}
module.exports = slackClient;
slackClient.js
'use strict';
const service = require('../server/service');
const http = require('http');
const slackClient = require('../server/slackClient');
const server = http.createServer(service);
const slackToken = '-----SlackTokenHere----';
const slackLogLevel = 'verbose';
const rtm = slackClient.init(slackToken, slackLogLevel, witClient);
rtm.start();
slackClient.addAuthenticatedHandler(rtm, () => server.listen(3000));
server.on('listening', function() {
console.log(`Slackster is listening on ${server.address().port} in ${service.get('env')} mode.`);
});
'use strict';
const RtmClient = require('@slack/client').RtmClient;
const CLIENT_EVENTS = require('@slack/client').CLIENT_EVENTS;
const RTM_EVENTS = require('@slack/client').RTM_EVENTS;
let rtm = null
let nlp = null
function handleOnAuthenticated(rtmStartData) {
console.log(`Logged in as ${rtmStartData.self.name} of team ${rtmStartData.team.name}, but not yet connected to a channel`);
}
function handleOnMessage(message) {
console.log(message);
}
function addAuthenticatedHandler(rtm, handler) {
rtm.on(CLIENT_EVENTS.RTM.AUTHENTICATED, handler);
}
module.exports.init = function slackClient(token, logLevel, nlpClient) {
rtm = new RtmClient(token, {logLevel: logLevel});
nlp = nlpClient;
rtm.on(RTM_EVENTS.MESSAGE, handleOnMessage);
return rtm;
}
module.exports.addAuthenticatedHandler = addAuthenticatedHandler;
import http from 'http';
import express from 'express';
const server = http.createServer(express);
import slackClient from './Messenger_Clients/slackClient';
const slackToken = '------YourSlackToken------';
const slackLogLevel = 'verbose';
slackClient.init(slackToken, slackLogLevel, null);
slackClient.addAuthenticatedHandler(() => server.listen(3000));
server.on('listening', function() {
console.log(`Slackster is listening on ${server.address().port} in ${service.get('env')} mode.`);
});
import { RtmClient } from '@slack/client';
import { CLIENT_EVENTS } from '@slack/client';
import { RTM_EVENTS } from '@slack/client';
class slackClient {
static init(token, logLevel, null) {
this.rtm = new RtmClient(token, {logLevel: logLevel});
this.nlp = nlpClient;
this.rtm.on(RTM_EVENTS.MESSAGE, this.handleOnMessage);
this.rtm.start();
}
static addAuthenticatedHandler(handler) {
this.rtm.on(CLIENT_EVENTS.RTM_AUTHENTICATED, handler);
}
handleOnMessage(message) {
console.log(message);
}
}
module.exports = slackClient;
“但无法使用websockets进行身份验证”当启动slack客户端时,它会访问url,然后尝试通过websockets对您进行身份验证。我知道slack API是如何工作的。我是问你遇到了什么问题。我不认为这是SlackAPI的问题。我想我在slackClient.js中导入语法时出错了,但我无法找到它的位置。如果您不告诉我们问题出在哪里,您希望人们如何提供帮助?“但无法使用WebSocket进行身份验证”当您启动slackClient时,它访问的url,然后它尝试通过WebSocket对您进行身份验证。我知道SlackAPI是如何工作的。我是问你遇到了什么问题。我不认为这是SlackAPI的问题。我想我在slackClient.js中导入语法时出错了,但我找不到它在哪里。如果你不告诉我们问题出在哪里,你希望人们如何帮助?