我正在使用Node开始松弛开发。 按照教程,我收到一条错误消息。我尝试了几种方法,但仍然无法发现错误
我只是想打印机器人 和频道名称
已安装的节点版本为10 但是示例基于版本5
这可能是错误的根源吗?
'use strict';
const RtmClient = require('@slack/client').RtmClient;
const MemoryDataStore = require('@slack/client').MemoryDataStore;
const RTM_EVENTS = require('@slack/client').RTM_EVENTS;
const CLIENT_EVENTS = require('@slack/client').CLIENT_EVENTS;
const token = 'myTokenGoesHere';
let slack = new RtmClient(token, {
logLevel: 'debug',
dataStore: new MemoryDataStore(),
autoReconnect: true,
autoMark: true});
slack.on(CLIENT_EVENTS.RTM.RTM_CONNECTION_OPENED, () => {
// Get the user's name
let user = slack.dataStore.getUserById(slack.activeUserId);
// Get the team's name
let team = slack.dataStore.getTeamById(slack.activeTeamId);
// Log the slack team name and the bot's name, using ES6's
// template
// string syntax
console.log(`Connected to ${team.name} as ${user.name}`);
});
// Start the login process
slack.start();
我收到此错误消息
> TypeError: MemoryDataStore is not a constructor
> at Object.<anonymous> (C:\Users\ToughBook\appdir\index.js:33:16)
> at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:282:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
答案 0 :(得分:0)
如果您真的想遵循Paul所著的教程,请使用Slack客户端的版本2。 另外,访问https://termitedev.slack.com/apps/new/A0F7YS25R-bots以获得API令牌,但请确保您已经有一个宽松的工作空间。
"dependencies": {
"@slack/client": "^2.1.0"
}