如何向 discord.js bot v12 添加验证

Posted

技术标签:

【中文标题】如何向 discord.js bot v12 添加验证【英文标题】:How to add verification to discord.js bot v12 【发布时间】:2021-03-11 23:50:08 【问题描述】:

我对编码有点陌生,我正在 discord.js v12 中制作一个机器人,我想知道如何为加入服务器的新用户添加验证。天气不是向他们发送他们必须完成的验证码,或者只是添加他们单击的反应角色,它会赋予他们 x 角色,例如“成员”或“已验证”。在此先感谢:D

【问题讨论】:

【参考方案1】:

实际上,我最近刚刚创建了一个,使用一种非常简单的方法创建两个问题和答案数组并检查用户的输入是否与答案匹配。

所以,首先你要创建 2 个数组:

const questions = ['Do you like melon?', 'Do you want melon?']
const answers = ['Yes!', 'What do you want from me...']

然后你可以得到一个与答案匹配的随机问题:

var randomIndex = Math.floor(Math.random() * questions.length)
var randomQuestion = questions[randomIndex]
var randomAnswer = answers[randomIndex]

最后,您可以发送问题并检查答案是否匹配:

message.channel.send(randomQuestion)
client.on('message', message => 
    if (message.content === randomAnswer) 
        let role = message.guild.roles.cache.find(r => r.name === "Member")
        message.member.roles.add(role)
        message.channel.send('Congratulations! you've completed the verification!');
    else 
       message.channel.send('Verification failed. Incorrect answer.');
   
);

【讨论】:

以上是关于如何向 discord.js bot v12 添加验证的主要内容,如果未能解决你的问题,请参考以下文章

Discord.JS V12 BOT垃圾邮件文本[关闭]

Discord js v12:无法读取未定义的属性“添加”[重复]

Discord.js v12 - 如何添加角色?

如何使用 discord.js 从 discord bot 向特定用户发送消息

无法读取未定义 discord.js v12 的属性“角色”

v12 不会删除机器人的反应,但 v13 会删除机器人的反应 (discord.js)