为什么我的基本命令输出,但我的嵌入命令没有?
why do my basic commands output, but my embed command doesn't?
我对 js 很陌生,直到现在我一直在学习教程。我想脱离并创建一个命令,该命令会在 discord 中生成嵌入消息(作为输出)。我尝试了几种不同的方法,但 none 的解决方案似乎有效。当我 运行 命令 ?embed 时,没有任何显示,这是 if 语句;
if(command === 'swept'){
client.commands.get("swept").execute(message, args);
} else if(command == 'youtube'){
client.commands.get("youtube").execute(message, args);
} else if (command == 'embed'){
client.commands.get("embed").execute(message, args);
}
})
其他两个命令(?swept、?youtube)工作正常。这是命令为嵌入调用的一段代码;
const Discord = require('discord.js')
module.exports = {
name: 'embed',
description: "embed test if im not stupid",
execute(message, args) {
const embed = new Discord.MessageEmbed()
.setTitle('Title')
.addField('Field1', 'Field2')
.addField('field 3', 'FiElD4')
.setColor('#0aaaf5')
message.channel.send(embed);
}
}
如果能提供解决方案或更简单的方法,我们将不胜感激。其他两个命令的编码方式相同(在以 module.exports = ... 开头的单独文件中)
编辑:错误信息;
const embed = Discord.messageEmbeded()
^
TypeError: Discord.messageEmbeded is not a function
at Object.execute (C:\Users\alexh\Desktop\discord botting\commands\embed.js:8:32)
at Client.<anonymous> (C:\Users\alexh\Desktop\discord botting\main.js:33:38)
at Client.emit (events.js:315:20)
at MessageCreateAction.handle (C:\Users\alexh\Desktop\discord botting\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\alexh\Desktop\discord botting\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\alexh\Desktop\discord botting\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:\Users\alexh\Desktop\discord botting\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:\Users\alexh\Desktop\discord botting\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\Users\alexh\Desktop\discord botting\node_modules\ws\lib\event-target.js:132:16)
at WebSocket.emit (events.js:315:20)
您没有在文件中导入 Discord.js 库。尝试将其导入文件顶部:
const Discord = require('discord.js')
那么,discord 嵌入的功能不是 .messageEmbeded
,而是 .messageEmbed
。
将第 8 行替换为:
const embed = new Discord.messageEmbed()
Discord.JS 区分大小写。意思是,大写和小写很重要。所以,应该是:
const embed = new Discord.MessageEmbed()
根据您发布的错误消息,您拼错了命令 Embed
,而是使用了 Embeded
。
这是您发布的错误消息:
const embed = Discord.messageEmbeded()
^
尝试在您的代码中将其更改为:
const embed = new Discord.messageEmbed()
我对 js 很陌生,直到现在我一直在学习教程。我想脱离并创建一个命令,该命令会在 discord 中生成嵌入消息(作为输出)。我尝试了几种不同的方法,但 none 的解决方案似乎有效。当我 运行 命令 ?embed 时,没有任何显示,这是 if 语句;
if(command === 'swept'){
client.commands.get("swept").execute(message, args);
} else if(command == 'youtube'){
client.commands.get("youtube").execute(message, args);
} else if (command == 'embed'){
client.commands.get("embed").execute(message, args);
}
})
其他两个命令(?swept、?youtube)工作正常。这是命令为嵌入调用的一段代码;
const Discord = require('discord.js')
module.exports = {
name: 'embed',
description: "embed test if im not stupid",
execute(message, args) {
const embed = new Discord.MessageEmbed()
.setTitle('Title')
.addField('Field1', 'Field2')
.addField('field 3', 'FiElD4')
.setColor('#0aaaf5')
message.channel.send(embed);
}
}
如果能提供解决方案或更简单的方法,我们将不胜感激。其他两个命令的编码方式相同(在以 module.exports = ... 开头的单独文件中)
编辑:错误信息;
const embed = Discord.messageEmbeded()
^
TypeError: Discord.messageEmbeded is not a function
at Object.execute (C:\Users\alexh\Desktop\discord botting\commands\embed.js:8:32)
at Client.<anonymous> (C:\Users\alexh\Desktop\discord botting\main.js:33:38)
at Client.emit (events.js:315:20)
at MessageCreateAction.handle (C:\Users\alexh\Desktop\discord botting\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\alexh\Desktop\discord botting\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\alexh\Desktop\discord botting\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:\Users\alexh\Desktop\discord botting\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:\Users\alexh\Desktop\discord botting\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\Users\alexh\Desktop\discord botting\node_modules\ws\lib\event-target.js:132:16)
at WebSocket.emit (events.js:315:20)
您没有在文件中导入 Discord.js 库。尝试将其导入文件顶部:
const Discord = require('discord.js')
那么,discord 嵌入的功能不是 .messageEmbeded
,而是 .messageEmbed
。
将第 8 行替换为:
const embed = new Discord.messageEmbed()
Discord.JS 区分大小写。意思是,大写和小写很重要。所以,应该是:
const embed = new Discord.MessageEmbed()
根据您发布的错误消息,您拼错了命令 Embed
,而是使用了 Embeded
。
这是您发布的错误消息:
const embed = Discord.messageEmbeded()
^
尝试在您的代码中将其更改为:
const embed = new Discord.messageEmbed()