向人员列表发送私人消息

Posted

技术标签:

【中文标题】向人员列表发送私人消息【英文标题】:Send private message to a list of people 【发布时间】:2020-12-05 18:39:37 【问题描述】:

我的机器人将向被接受的人员列表发送一条私人消息。 我想输入一个命令,向.json 文件中的每个人发送消息。 我试过循环,但不能让它工作。

我认为这是 json 文件:


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

这是我的 index.js 或 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];
  

【问题讨论】:

【参考方案1】:

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() method Array.prototype.forEach() method Array.prototype.find() method

请注意,过多的大规模 DMing 可能会导致 Discord 的服务条款出现问题

【讨论】:

从性能的角度来看,Array.forEach 比 for...of 和 A​​rray.map 慢得多,因此您应该将其切换到 for...of 循环。 如果我错了,请纠正我,但Array#forEach()绝对不会比Array#map() 此外,虽然for...of 被认为更快,但只有在迭代数百万个元素时才会有所不同。否则,没关系。

以上是关于向人员列表发送私人消息的主要内容,如果未能解决你的问题,请参考以下文章

向一组用户发送私人消息(Discord.js)

使用Python创建自定义机器人向群组人员发送消息

Git克隆私人仓库,权限被拒绝

如何向 Facebook 用户发送私人消息?

如何在socket.io中向特定用户发送消息?

查询 - 向用户发送公共和私人消息