我正在制作一个不和谐的机器人,并尝试让代码检查所请求的嵌入命令中是不是有除命令之外的任何内容

Posted

技术标签:

【中文标题】我正在制作一个不和谐的机器人,并尝试让代码检查所请求的嵌入命令中是不是有除命令之外的任何内容【英文标题】:I'm making a discord bot, and trying to make the code check if there's anything in the requested embed command other than the command我正在制作一个不和谐的机器人,并尝试让代码检查所请求的嵌入命令中是否有除命令之外的任何内容 【发布时间】:2021-03-14 21:12:55 【问题描述】:

问题是它发送消息,从作者那里删除命令消息并且发送嵌入。

这是我的代码:

if (message.content.startsWith(prefix + "embed"))  //embed command; /embed
       if (!message.content.includes()) 
           message.delete()
           message.reply("**You can't embed air**")
           return;

           

           else;
           const embed = new MessageEmbed()
               // Set the title of the field
               .setTitle("Title")
               .setAuthor(message.author.tag)
               // Set the color of the embed
               .setColor(0xff33cc)
               .setFooter("Footer")
               // Set the main content of the embed
               .setDescription(message.content.slice(6, message.content.length));
           // Send the embed to the same channel as the message

           message.channel.send(embed);
       
    

感谢所有帮助,即使我认为我的代码看起来很愚蠢,它不应该工作,但谷歌搜索没有帮助,我在这里。

【问题讨论】:

【参考方案1】:

if else 子句有一点缩进错误。 此外,.includes 将始终返回 true,因为所有字符串都包含字符串 ""

if (message.content.startsWith(prefix + "embed"))  //embed command; /embed
       if (!message.content.replace(prefix+"embed","").includes())  //makes sure that the content of the embed is not empty 
           message.delete()
           message.reply("**You can't embed air**")
           return;
       else
           const embed = new MessageEmbed()
               // Set the title of the field
               .setTitle("Title")
               .setAuthor(message.author.tag)
               // Set the color of the embed
               .setColor(0xff33cc)
               .setFooter("Footer")
               // Set the main content of the embed
               .setDescription(message.content.slice(6, message.content.length));
           // Send the embed to the same channel as the message
           message.channel.send(embed); 
       

【讨论】:

此代码给出以下命令:(node:19528) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message 啊,我笨,和你的回答无关,谢谢你的帮助 @Lauri,一切都好。只是想知道,你做错了什么? 机器人正在删除不再存在的消息。

以上是关于我正在制作一个不和谐的机器人,并尝试让代码检查所请求的嵌入命令中是不是有除命令之外的任何内容的主要内容,如果未能解决你的问题,请参考以下文章

我想制作一个阅读消息的不和谐黑名单机器人,但我不能让他阅读消息

如何让不和谐的机器人获取昵称而不是用户名?

我正在尝试制作一个等待用户消息的不和谐机器人,如果提到三个标签,它会给出滴答反应

不会让我运行 node 。在 vsc 终端(制作不和谐机器人)

我试图向我的不和谐机器人添加播放命令,但是

即使在不和谐中明确检查历史记录后仍重复消息