Warm tip: This article is reproduced from serverfault.com, please click

javascript-为什么我的基本命令会输出,但我的embed命令却不输出?

(javascript - why do my basic commands output, but my embed command doesn't?)

发布于 2020-11-30 13:43:45

我对js还是很陌生,直到现在我一直在关注一个教程。我想创建一个命令,使嵌入的消息不一致(作为输出)。我尝试了几种不同的方法,但是这些解决方案似乎都无效。当我运行命令?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)
Questioner
animecabbage
Viewed
0
Florian Kamps 2020-12-01 00:15:36

你尚未在文件中导入Discord.js库。尝试将其导入文件的顶部:

const Discord = require('discord.js')

然后,一个不和谐的嵌入功能不.messageEmbeded但是.messageEmbed

将第8行替换为:

const embed = new Discord.messageEmbed()