首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用discord.js时未找到模块时出错

使用discord.js时未找到模块时出错
EN

Stack Overflow用户
提问于 2018-03-04 07:15:16
回答 1查看 3.6K关注 0票数 0

当我运行node index.js时,我的节点应用程序不运行

以下是我拥有的文件:

文件index.js:

代码语言:javascript
复制
const command = require('discord.js-commando')
const bot = new commando.Client();

bot.registery.registerGroup('random', 'Random');
bot.register.registerDefaults();
bot.registery.regusterCommandsIn(__dirname + "/commands")

bot.login('zzzzz');

和文件random.js:

代码语言:javascript
复制
const commando = require('discord.js-commando')

class DiceRollCommand extends commando.Command {
   constructor(client) {
       super(client, {
            name: 'roll',
            group: 'random',
            memberName: 'roll',
            description: 'Rolls a die'
        });
    }

    async run(message, args) {
        var roll = Math.floor(Math.random() * 6) + 1;
        message.reply("You rolled a die") + roll);
    }
}

module.exports = DiceRollCommand;

这是错误的堆栈跟踪:

代码语言:javascript
复制
Error: Cannot find module 'C:\Users\dange\Desktop\bots\js\commands\random'
at Function.Module._resolveFilename (module.js:538:15)
at Function.Module._load (module.js:468:25)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
EN

回答 1

Stack Overflow用户

发布于 2018-03-04 07:38:27

所以我认为这可能是拼写错误和目录结构的组合。尝试进行以下更改:

代码语言:javascript
复制
const commando = require('discord.js-commando')
const bot = new commando.Client();

// Typo in the following: should be, bot.registry
bot.registry.registerGroup('random', 'Random');
bot.registry.registerDefaults();
// Typo Here: should be, registerCommandsIn
bot.registry.registerCommandsIn(__dirname + "/commands")


bot.login('zzzzz');

您的目录结构应如下所示。registerCommandsIn加载给定目录中的所有命令。

代码语言:javascript
复制
/commands/random.js
/index.js

而且,您应该确保在harmony flag and with no less than Node 7.0上运行index.js。

代码语言:javascript
复制
node index.js --harmony

另外,在random.js的第17行也找到了这个

代码语言:javascript
复制
message.reply("You rolled a die") + roll);
// I assume you want to send the roll
message.reply("You rolled a die" + roll);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49090241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档