Discordjs | DiscordAPIError:无法向该用户发送消息

时间:2020-02-19 21:02:25

标签: bots discord.js

我正在为服务器制作discord.js机器人。当我编写!ayuda时,机器人完全不会发送它,它会吐出一个错误

“ UnhandledPromiseRejection警告:DiscordAPIError:无法发送 给该用户的消息”

这是我的帮助命令代码

    switch (args[0]) { 
    case 'ayuda':
        const Embed = new RichEmbed()
        .setColor(0x06d6fe)
        .setFooter("© Capital Wolf", "https://i.imgur.com/0nn2u7q.gif" )
        .setTimestamp()
        .setImage("https://i.imgur.com/vU2PFJv.png")
        .setTitle("⚠ Has solicitado los comandos del Discord de **Capital Wolf** ⚠")
        .addField('!cache',
  "Muestra como borrar la cache de **Fivem**")
        .addField('!staff',
  "Muestra una lista de los miembros que pertenecen al **STAFF** de **Capital Wolf**")
        .addField('!invitacion',
  "Muestra una invitacion del servidor de Discord de **Capital Wolf**")
        .addField('!ip',
  "Muestra la ip del servidor de **Fivem** de **Capital Wolf**")
        message.member.send(Embed);
    break;
}

2 个答案:

答案 0 :(得分:1)

不允许成员从该服务器成员向他发送DM消息。您可以通过在message.member.send()中添加.catch()块来处理它。

    switch (args[0]) { 
    case 'ayuda':
        const Embed = new RichEmbed()
        .setColor(0x06d6fe)
        .setFooter("© Capital Wolf", "https://i.imgur.com/0nn2u7q.gif" )
        .setTimestamp()
        .setImage("https://i.imgur.com/vU2PFJv.png")
        .setTitle("⚠ Has solicitado los comandos del Discord de **Capital Wolf** ⚠")
        .addField('!cache',
  "Muestra como borrar la cache de **Fivem**")
        .addField('!staff',
  "Muestra una lista de los miembros que pertenecen al **STAFF** de **Capital Wolf**")
        .addField('!invitacion',
  "Muestra una invitacion del servidor de Discord de **Capital Wolf**")
        .addField('!ip',
  "Muestra la ip del servidor de **Fivem** de **Capital Wolf**")
        message.member.send(Embed).catch(console.error)
    break;
}

答案 1 :(得分:0)

您可能试图向该机器人发送邮件,或者该机器人被阻止,或者该服务器的DM已关闭或完全关闭。

您可以使用.catch()函数

下面是一个示例。

//Your embed code could go here. 

message.author.send(putYourEmbedDeclarationHere).catch(error => {
    message.channel.send(`Something went wrong while I tried to send you a DM`)
})