嵌入Discord.js中并发送命令

嵌入Discord.js中并发送命令,discord,discord.js,Discord,Discord.js,我正在尝试创建discord.js公告bot-ex。当我写?Ann Hello伙计们,bot删除我的消息并发送Hello伙计们,但现在如果我写?Ann Hello伙计们,bot删除我的消息并发送?Ann Hello伙计们,代码如下 const client = new Discord.Client(); client.login('--------------'); const PREFIX = '?'; client.once('ready', () => { conso

我正在尝试创建discord.js公告bot-ex。当我写?Ann Hello伙计们,bot删除我的消息并发送Hello伙计们,但现在如果我写?Ann Hello伙计们,bot删除我的消息并发送?Ann Hello伙计们,代码如下


const client = new Discord.Client();

client.login('--------------');

const PREFIX = '?';

client.once('ready', () => {
    console.log('Questo bot e online!');
});

client.on('message', message=>{

    let args = message.content.slice(PREFIX.length).split(' ');

    switch(args[0]){
        case 'ann':
        const embed = new Discord.MessageEmbed()
        .addField('test', message.content  );
        message.channel.send(embed);
    break;
}

})

message.content
表示您发送的整个消息,因此在本例中为
?Ann Hello Guys

DiscordJS不理解什么是命令,它也不会为您拆分这些内容

由于您的邮件格式为
?请提及
,您可以通过字符串中的空格将其拆分

let messageContent=message.content.split(“”)

这会将您的
“?Ann Hello Guys”
字符串转换为
“?Ann”、“Hello”、“Guys”

.split(“”)
通过空格分隔字符串,并返回一个数组

然后可以执行
messageContent.pop()
删除数组中的第一个元素,即
“?Ann”

然后您可以
。将(“”
这些元素重新连接在一起,形成字符串
“Hello Guys”
,并发送该字符串。完全格式代码:

let splitMessage = message.content.split(" ")

splitMessage.pop();

const transformedMessage = splitMessage.join(" ")
为此制作了一支钢笔:

希望它有帮助

它发送的内容相同吗?ann Hello WorldMessage.StartWith不是functionmessage.content.StartWith()?对不起,我真的不知道字符串在哪里。。。
client.on('message', message=>{

    let args

    if (message.startsWith('?')) 
      args = message.content.replace('?', '').split(' ')

    if (args[0].toLowerCase() === 'ann') {
      const embed = new Discord.MessageEmbed()
        .addField('test', message.contentreplace('?ann', ''));
        message.channel.send(embed);
    }
}

})