Quiero hacer un user.id de lista negra con un archivo json, cuando están usando un comando, enviará si están en la lista negra o no, y si están en la lista negra, enviarán el motivo.
Intento este código:
const discord = require('discord.js'); const client = new discord.Client(); const prefix = '+'; const token = 'my bot token'; const blacklist = require('./blacklist.json'); client.on('ready', function () { console.log('bot on'); }); client.on('message', function (message) { if (message.content.startsWith(prefix + 'check')) { if (blacklist.includes(client.user.id)) { message.channel.send('you are blacklist, reason: ${reason}'); } else { message.channel.send('heyy'); } } }); client.login(token);El archivo JSON:
{ "user.id1": "reason", "user.id2": "reason" }Si las claves de objeto en su archivo JSON son ID de usuario, puede usar la notación de corchetes para verificar si el objeto contiene una clave, como esta:
if (blacklist[user.id]) { // user.id exists on blacklist } Además, no creo que desee verificar client.user.id ; ese es el usuario de Discord del cliente que ha iniciado sesión. Probablemente desee comprobar el usuario que envió el mensaje/comando, así que message.author . El siguiente código debería funcionar:
client.on('message', function (message) { if (!message.content.startsWith(prefix + 'check')) return; if (blacklist[message.author.id]) return message.channel.send( `You are on the blacklist, reason: ${blacklist[message.author.id]}` ); message.channel.send('heyy'); });