无法向dm users discord.js发出错误声明

无法向dm users discord.js发出错误声明,discord,discord.js,Discord,Discord.js,如果用户没有收到消息,我尝试输入一个catch错误,但是由于某种原因,我得到了一个错误 client.on('guildMemberAdd', member => { const linkId = pool.createLink(member.id); const embed = new Discord.MessageEmbed() .setTitle('reCAPTCHA Verification') .setDescription

如果用户没有收到消息,我尝试输入一个catch错误,但是由于某种原因,我得到了一个错误

    client.on('guildMemberAdd', member => {
    const linkId = pool.createLink(member.id);
    const embed = new Discord.MessageEmbed()
        .setTitle('reCAPTCHA Verification')
        .setDescription(`To gain access to this server you must solve a captcha. The link will expire in 15 minutes.\nhttp://${domain == '' ? 'localhost:8050' : domain}/verify/${linkId}`)
        .setColor('YELLOW');
    member.send(embed)

} catch (e) {
    console.log(`Error adding role to user ${discordId}.`)
}
获取缺少的错误“,” 添加“,”
},捕获(e){

然后我得到了预期的参数表达式。

问题

该错误可能是因为代码的格式根本不正确?您有一个函数
member=>{}
,然后紧跟在函数后面有一个
catch
,而且您甚至从未关闭
客户端.on()
括号

你的程序正确理解完全不正确的语法是不可行的,就像对说另一种语言的人说胡言乱语并希望他们理解你一样。学习一门新语言时,你需要了解新的语法规则、词汇以及更多可能与你的主语言有很大不同的内容。这是真的javascript非常灵活,但您的程序将无法破译非常不准确的语法(这相当于程序的胡言乱语)

请尝试了解有关
try/catch
语句、javascript函数、语法错误和正确语法的更多信息。这是一个非常简单的格式化问题,类似这样的问题在StackOverflow上不应该出现。查看一些基本javascript教程,进行一些快速研究(甚至可以看看一些机器人的例子)和/或进行一次谷歌搜索可能会在几秒钟内解决您的问题

解决方案

这是正确的、更准确的语法:

client.on('guildMemberAdd', member => {
    const linkId = pool.createLink(member.id);
    const embed = new Discord.MessageEmbed()
    .setTitle('reCAPTCHA Verification')
    .setDescription(`To gain access to this server you must solve a captcha. The link will expire in 15 minutes.\nhttp://${domain == '' ? 'localhost:8050' : domain}/verify/${linkId}`)
    .setColor('YELLOW');
    member.send(embed).catch(() => {console.log("Couldn't send message.")});
});
当然,这是假设格式是实际问题,并且在将代码添加到问题中时,您并没有将其格式设置得很差。如果您的问题中的格式设置得很差,而实际代码中的格式设置得很正确,那么您提供的代码中甚至没有该问题(在这种情况下,您的问题甚至无法回答,除非您提供正确的代码)。

我收到一个错误

 DiscordAPIError: Cannot send messages to this user
    at RequestHandler.execute (C:\Users\Administrator\Desktop\GRPIL-BOT\src\DiscordVerification-master\DiscordVerification-master\node_modules\discord.js\src\rest\RequestHandler.js:154:13)
    at processTicksAndRejections (node:internal/process/task_queues:93:5)
    at async RequestHandler.push (C:\Users\Administrator\Desktop\GRPIL-BOT\src\DiscordVerification-master\DiscordVerification-master\node_modules\discord.js\src\rest\RequestHandler.js:39:14) {
  method: 'post',
  path: '/channels/790342794140975115/messages',
  code: 50007,
  httpStatus: 403
}
哪个


应避免错误

当用户从服务器阻止dms时仍会出错当用户阻止dms时,此答案的catch语句应捕获错误。这不是答案。不是答案,请更新您的问题。
try {
        const linkId = pool.createLink(member.id);
        const embed = new Discord.MessageEmbed()
        .setTitle('reCAPTCHA Verification')
        .setDescription(`To gain access to this server you must solve a captcha. The link will expire in 15 minutes.\nhttp://${domain == '' ? 'localhost:8050' : domain}/verify/${linkId}`)
        .setColor('YELLOW');
        member.send(embed)

    } catch (e) {
        console.log(`Error adding role to user ${discordId}.`)
    }