节点js中的“ memoryDataStore不是构造函数”错误

时间:2018-12-24 17:50:29

标签: javascript node.js memory store slack-commands

我正在使用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)

1 个答案:

答案 0 :(得分:0)

如果您真的想遵循Paul所著的教程,请使用Slack客户端的版本2。 另外,访问https://termitedev.slack.com/apps/new/A0F7YS25R-bots以获得API令牌,但请确保您已经有一个宽松的工作空间。

"dependencies": {
    "@slack/client": "^2.1.0"
  }