Discord js | DiscordAPIError: Невозможно отправить сообщения этому пользователю - PullRequest
0 голосов
/ 20 февраля 2020

Я делаю диссонанс. js бот для сервера. Когда я пишу! Ayuda, бот вообще не будет отправлять его и выдаст ошибку

"UnhandledPromiseRejectionWarning: 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 ]

1 голос
/ 20 февраля 2020

Участник не имеет права отправлять ему сообщения DM от этого участника сервера. Вы можете обработать это с помощью блока add .catch() для message.member.send ().

    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;
}
0 голосов
/ 20 февраля 2020

Возможно, вы пытаетесь отправить сообщение пользователю, который либо заблокировал бота, либо отключил 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`)
}) 
...