【发布时间】:2021-01-17 19:49:00
【问题描述】:
所以已经向所有人问好,尤其是那些愿意帮助我的人,我有一个项目来验证用户,这要归功于哈希解密挑战系统 (base64),当他们成功时,它会给他们一个角色检查一下,我做了很好的一部分,但它不对我不明白我的错误!机器人连接,0 个代码错误,但验证不起作用我希望在频道中而不是在 DM 中完成验证!谢谢
const Discord = require('discord.js')
const client = new Discord.Client();
const prefix = "&";
let rawdata = fs.readFileSync('config.json');
let object = JSON.parse(rawdata);
var channel_id = object['verification_channelID']
var guild_id = object['guild_ID']
var role_name = object['verification_role_name']
var server_invite = object['server_invite']
var token = object['bot_token']
var questions = object['questions']
var dict = {};
var encodingQuestions = []
questions.forEach(element => {
encodingQuestions.push(element)
});
client.on('ready', function(){
console.log("Login : " + client.user.tag);
})
client.on('guildMemberAdd', member => {
var uname = member.user.username
var disc = member.user.discriminator
var memberID = member.user.id
var rand = Math.random();
rand *= encodingQuestions.length;
rand = Math.floor(rand);
var question = encodingQuestions[rand]
dict[uname] = [Buffer.from(question, 'base64').toString('utf-8'), 3];
const embed = new Discord.MessageEmbed()
.setTitle(uname + "#" + disc)
.setColor(0x1e90ff)
.addField(uname='Welcome', value='Welcome <@' + memberID + '> Déchiffrer le code , vous avez 3 essais ! Utilisez ``&answer {decoded message}`` ', inline=false)
.addField(uname='Question', value=question, inline=false)
member.send(embed)
member.guild.channels.cache.get(channel_id).send("Welcome <@" + memberID + "> Regarder vos DM pour accédez au serveur !")
});
client.on('message', message => {
var memberid = message.author.id;
var memberuname = message.author.username;
var messagecontent = message.content;
var messageID = message.id;
var disc = message.author.discriminator;
if (!message.content.startsWith(prefix)) return;
if (message.content.startsWith(prefix + 'answer') && message.channel.type === "dm"){
var msg = message.toString().replace('&answer ', '')
for (var key in dict){
if (key == message.author.username){
if (msg == dict[key][0]){
message.channel.send("Vous avez passer le test !")
var role = client.guilds.cache.get(guild_id).roles.cache.find(role => role.name === role_name)
client.guilds.cache.get(guild_id).members.cache.get(message.author.id).roles.add(role);
var memberID = message.author.id
client.channels.cache.get(channel_id).send("Trés bien <@" + memberID + "> vous avez réussis le test avec succèes !")
delete dict[key];
} else{
dict[key][1] = dict[key][1] - 1
if (dict[key][1] == 0){
memberID = message.author.id
message.channel.send("Vous avez pas réussis le test vous allez êtres exclus ! Revenir sur Paradox : " + server_invite)
client.channels.cache.get(channel_id).send("<@" + memberID + "> Vous avez échoué le test...")
setTimeout(function(){
client.guilds.cache.get(guild_id).members.cache.get(message.author.id).kick()
}, 5000)
} else{
message.channel.send("Réessayer !")
}
}
}
}
}
})
client.login(token);
The database config.json :
{
"bot_token": "TOKEN",
"verification_channelID": "",
"guild_ID": "",
"verification_role_name": "",
"server_invite": "",
"questions": ["eW91IHBhc3NlZA==", "dGhpcyB3YXMgZWFzeQ==", "dGhhbmtzIGZvciBqb2luaW5n", "ZW5qb3kgeW91ciBzdGF5", "dGhhbmtzIGZvciBub3QgYmVpbmcgYW5vbnltb3Vz", "ZW5qb3kgeW91ciBzdGF5", "aW52aXRlIHlvdXIgZnJpZW5kcyE="]
}
【问题讨论】:
标签: javascript discord discord.js