【问题标题】:Discord.js Can't send message to this userDiscord.js 无法向该用户发送消息
【发布时间】:2020-10-01 21:47:36
【问题描述】:

如果我遇到此错误,它将发送一条消息嵌入,并显示有关如何打开直接消息的图片。

但我不知道如何截取代码并发送此消息

if (error.code === 50007){
  message.channel.send(Embedcantchat);
}

错误来源

reason: DiscordAPIError: Cannot send messages to this user
    at C:\Users\nawap\OneDrive\Desktop\Discord\bot all\nirtogiven\node_modules\discord.js\src\client\rest\RequestHandlers\Sequential.js:79:15
    at C:\Users\nawap\OneDrive\Desktop\Discord\bot all\nirtogiven\node_modules\snekfetch\src\index.js:215:21
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  name: 'DiscordAPIError',
  message: 'Cannot send messages to this user',
  path: '/api/v7/channels/720870400808190013/messages',
  code: 50007,
  method: 'POST'
}

【问题讨论】:

  • 该用户禁用了来自朋友以外的任何人的 DM。 “新手”没有错。

标签: javascript discord.js


【解决方案1】:

用户可能关闭了某个服务器的 DM,因此该服务器中的成员将无法发送 DM。您可以在单击服务器名称时进行设置 -> 隐私设置

【讨论】:

    【解决方案2】:

    您应该使用 try/catch,而不是尝试在错误代码上发送消息,如下所示:

    try {
       // message to send the user
    }
    catch (error) {
       message.channel.send(Embedcantchat);
       // other error handling
    }
    

    如果在尝试发送消息时发现错误,那么它将自动发送Embedcantchat,假设它已定义。

    【讨论】:

      猜你喜欢
      • 2021-02-07
      • 2020-02-17
      • 2018-12-26
      • 2020-12-20
      • 2022-01-26
      • 1970-01-01
      • 2021-11-06
      • 2021-05-29
      • 2021-05-17
      相关资源
      最近更新 更多