【问题标题】:Discord.js UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot send an empty messageDiscord.js UnhandledPromiseRejectionWarning:DiscordAPIError:无法发送空消息
【发布时间】:2020-01-25 12:21:10
【问题描述】:

好的,所以我刚开始研究一个不和谐的机器人并实现了一个命令处理程序,我立即遇到了一些问题。

const Discord = require("discord.js");
module.exports = {
  name: "kick",
  description: "Kicks the mentioned user",
  execute(message, args) {
    const user = message.mentions.users.first();

    if (user) {
      const member = message.guild.member(user);
      try {
        const kickEmbed = new Discord.RichEmbed()
          .setTitle("You were Kicked")
          .setDescription("You were kicked from Bot Testing Server.");
        user.send({ kickEmbed }).then(() => {
          member.kick();
        });
      } catch (err) {
        console.log("failed to kick user");
      }
    }
  }
};

当我在服务器中执行 kick 命令时,出现以下错误

UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot send an empty message

我似乎找不到代码有什么问题,所以,错误在哪里

【问题讨论】:

  • 我知道答案已被接受,但原因不正确。失败的原因是send() 方法需要一个对象定义,如果你想发送一个嵌入,所以如果你想发送你的嵌入,你需要做send({ embed: kickEmbed })

标签: javascript node.js bots discord discord.js


【解决方案1】:

发送使用 Discord Rich Embed 构建器的嵌入时,您不需要使用大括号。 而不是user.send({ kickEmbed }),您应该使用user.send(kickEmbed)。我之前遇到过这个问题,它对我的​​情况有所帮助。

【讨论】:

    猜你喜欢
    • 2021-05-05
    • 2021-12-15
    • 2021-06-25
    • 2022-01-20
    • 2020-12-20
    • 2021-11-02
    • 2021-12-25
    • 2021-12-01
    • 2020-10-09
    相关资源
    最近更新 更多