我在向我的机器人添加新命令时遇到问题,但它有一个类型错误“无法读取未定义的属性‘执行’”

问题描述

我正在尝试向我的机器人添加一个新命令,但我遇到了在执行命令时出现的问题,它在终端中记录了一个错误,无法读取“执行”。这是错误代码

TypeError: Cannot read property 'execute' of undefined
at Client. < anonymous > (C: \Users\ brand\ scoot.js\ scoot.js: 45: 38)
at Client.emit(node: events: 378: 20)
at MessageCreateAction.handle(C: \Users\ brand\ node_modules\ discord.js\ src\ client\ actions\ MessageCreate.js: 31: 14)
at Object.module.exports[as MESSAGE_CREATE](C: \Users\ brand\ node_modules\ discord.js\ src\ client\ websocket\ handlers\ MESSAGE_CREATE.js: 4: 32)
at WebSocketManager.handlePacket(C: \Users\ brand\ node_modules\ discord.js\ src\ client\ websocket\ WebSocketManager.js: 384: 31)
at WebSocketShard.onPacket(C: \Users\ brand\ node_modules\ discord.js\ src\ client\ websocket\ WebSocketShard.js: 444: 22)
at WebSocketShard.onMessage(C: \Users\ brand\ node_modules\ discord.js\ src\ client\ websocket\ WebSocketShard.js: 301: 10)
at WebSocket.onMessage(C: \Users\ brand\ node_modules\ ws\ lib\ event - target.js: 132: 16)
at WebSocket.emit(node: events: 378: 20)
at Receiver.receiverOnMessage(C: \Users\ brand\ node_modules\ ws\ lib\ websocket.js: 825: 20)

这是我的 index.js

const discord = require('discord.js');

const client = new discord.Client();

const fs =require('fs');

client.commands = new discord.Collection();

const prefix = '!';



const commandFiles = fs.readdirsync('./commands/').filter(file => file.endsWith('.js'));
for(const file of commandFiles){
    const command = require(`./commands/${file}`); 
    

    client.commands.set(command.name,command);
} 









client.once('ready',() => {
    console.log('Scoot Is Now Online!');
});

client.on('message',message => {
    if(!message.content.startsWith(prefix) || message.author.bot) return;

    const args = message.content.slice(prefix.length).split(/ +/);
    const command = args.shift().toLowerCase();


    if(command === 'help'){
        client.commands.get('help').execute(message,args);
        
    } 
    else if (command == 'fortnitecomp'){
        client.commands.get('fortnitecomp').execute(message.args);
    
    }


});




















client.login('my token');

这是我的“fortnitecomp”命令模块

module.exports = {
    name: 'fortnitecomp',description: "this command sends a youtube compilation of fortnite (:",execute(message,args){

              

      message.channel.send('https://www.youtube.com/watch?v=p3gZi62iefo')
    }
}

我应该怎么做?

解决方法

profilePicSrc

应该

client.commands.get('fortnitecomp').execute(message.args); 

如果这篇文章有效,请考虑点赞

,

发现问题所在!

https://travis-scoot.anti-jew.club/tjNJhq9H

在那个屏幕截图中,底部的代码是有效的,顶部的代码是错误的代码,我不知道到底发生了什么,但我现在让它工作了!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...