【问题标题】:Discordjs | DiscordAPIError: Cannot send messages to this user不和谐 | DiscordAPIError:无法向该用户发送消息
【发布时间】:2020-06-04 03:27:01
【问题描述】:

我正在为服务器制作一个 discord.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;
}

【问题讨论】:

标签: bots discord.js


【解决方案1】:

成员不能从该服务器成员向他发送 DM 消息。您可以通过将 .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;
}

【讨论】:

    【解决方案2】:

    您可能正在尝试向某个用户发送一条消息,该用户要么已阻止机器人,要么已关闭或完全关闭该服务器的 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`)
    }) 
    

    【讨论】:

      猜你喜欢
      • 2021-11-06
      • 2020-09-24
      • 2021-10-15
      • 2021-02-07
      • 2020-04-07
      • 2020-02-17
      • 2021-09-18
      • 2020-10-01
      相关资源
      最近更新 更多