Envie mensagem privada para uma lista de pessoas

Aug 16 2020

Meu bot vai enviar uma mensagem privada para uma lista de pessoas que são aceitas. Quero digitar um comando que envia uma mensagem para todos no .jsonarquivo. Eu tentei com um loop, mas não consigo fazer funcionar.

Estou pensando que este seja o arquivo json:

{
    "1": "Name#0001",
    "2": "Guy#0001",
    "3": "Person#0001"
}

Este é meu index.js ou main.js:

var ytLinks = JSON.parse(fs.readFileSync('./ytvids.json', 'utf8'));

if (args[1] === 'send') {
  const userValues = Object.values(acceptedUsers);
  var userList = '';
  var i;
  for (i = 0; i < userValues.length; i++) {
    userList += userValues[i];
  }
}

Respostas

4 Lioness100 Aug 16 2020 at 20:08

something.json:

{
    "1": "Name#0001",
    "2": "Guy#0001",
    "3": "Person#0001"
}

index.js:

const obj = require('./something.json') // require object from file

// execute function on each entry (user tag)
Object.values(obj).forEach((tag) => {

    // find each user via tag and send DM 
    client.users.cache.find(user => user.tag === tag).send('This is a DM') 
});

  • Object.values() método
  • Array.prototype.forEach() método
  • Array.prototype.find() método

Tenha cuidado, muita DMing em massa pode levar a problemas com os Termos de Serviço do Discord