Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引用错误:未定义不一致;就在想踢的时候_Javascript_Discord.js - Fatal编程技术网

Javascript 引用错误:未定义不一致;就在想踢的时候

Javascript 引用错误:未定义不一致;就在想踢的时候,javascript,discord.js,Javascript,Discord.js,我不能用我的discord机器人踢任何人,因为发生了这种事,idk为什么。 这是我在控制台中得到的: ReferenceError: Discord is not defined at Object.execute (C:\Users\alber\OneDrive\Escritorio\Bot discord\commands\kick.js:17:21) at Client. (C:\Users\alber\OneDrive\Escritorio\Bot discord\ind

我不能用我的discord机器人踢任何人,因为发生了这种事,idk为什么。 这是我在控制台中得到的:

ReferenceError: Discord is not defined at Object.execute (C:\Users\alber\OneDrive\Escritorio\Bot discord\commands\kick.js:17:21) at Client. (C:\Users\alber\OneDrive\Escritorio\Bot discord\index.js:34:15) at Client.emit (events.js:310:20) at MessageCreateAction.handle (C:\Users\alber\OneDrive\Escritorio\Bot discord\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14) ebsocket\handlers\MESSAGE_CREATE.js:4:32) at WebSocketManager.handlePacket (C:\Users\alber\OneDrive\Escritorio\Bot discord\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31) at WebSocketShard.onPacket (C:\Users\alber\OneDrive\Escritorio\Bot discord\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22) at WebSocketShard.onMessage (C:\Users\alber\OneDrive\Escritorio\Bot discord\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10) at WebSocket.onMessage (C:\Users\alber\OneDrive\Escritorio\Bot discord\node_modules\ws\lib\event-target.js:120:16) at WebSocket.emit (events.js:310:20) 这是一个不起作用的kick命令(只有当它应该禁止某人时,它才会中断,其余的都起作用):


尝试在kick文件中定义discord


const Discord=需要(“Discord”)
模块出口。。。。。。。。。。
或者在exports.execute上调用它

module.exports={
名字:'踢',
description:'踢出提到的用户',
执行(客户端、消息、参数、不一致){}
}
如果在参数中调用它,则还必须将其应用于命令处理程序

command.execute(客户端、消息、参数、不一致)

如果您没有从kick命令脚本中编辑任何内容,并按原样复制到这里,那么您将丢失Discord类的require语句


尝试导入它,如
constdiscord=require('Discord.js')就像您在第一个代码块中所做的那样。

如其他答案所述,命令文件中没有定义Discord。如果您想保存几行,只需将其放入
index.js
文件中即可

global.Discord=require('Discord.js'))
我不确定这需要什么节点版本,但如果您在LTS上,它应该可以工作。 在这个错误中,错误是非常描述性的,不需要堆栈溢出。试着读懂错误,下次再把它弄清楚。它清楚地说它没有定义

const fs = require('fs');
const Discord = require('discord.js')
const { prefix, token } = require('./config.json');

const client = new Discord.Client();
client.commands = new Discord.Collection();

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);
}
module.exports = {
    name: 'kick',
    description: 'kicks the mentioned user',
    execute(client, message, args){
    var kickUser = message.guild.member(message.mentions.users.first() || message.guild.members.fetch(args[0]))    
    if(!kickUser){
        return message.reply('¿no tageas a nadie? Kickear paraguayos es malardo.')
    }
    var kickReason = args.join(' ').slice(22)
    if(!message.member.hasPermission(['KICK_MEMBERS'])){
        return message.reply('enséñame los permisos que los vea yo que parece que no tienes.s')
    }
    if(kickUser.hasPermission(['KICK_MEMBERS'])){
        return message.reply('no puedes echar a alguien con permisos de admin.')
    }

    var kickEmbed = new Discord.RichEmbed()    
    .setDescription('Kick')
    .setColor('#35d4a7')
    .addField('Server', guild.name)
    .addField('Kickeado por', `@${message.author.id}`)
    .addField('A las', message.createdTimestamp)
    .addField('Motivo', kickReason)

    message.guild.member(kickUser).kick(kickReason)
    kickUser.send(kickEmbed)
    },
};