node.js - 通过命令向数据库中的特定人员发送 DM,discord.js-commando

标签 node.js discord.js

因此,我在向特定人员发送没有作者标签且未提及该人的 DM 时遇到了问题。我尝试复制提及数组:

/*jshint esversion: 6*/
const commando = require('discord.js-commando');

class Msgowner extends commando.Command {
  constructor(client) {
    super(client, {
      name: 'msgowner',
      group: 'info',
      memberName: 'msgowner',
      description: 'Gives rules on mock or legit duels.',
      examples: ['ladderrules type'],
    });
  }

  async run(message) {
    var user = {
      id: '12345',
      username: 'Bloodmorphed',
      discriminator: '12345',
      avatar: 'd510ca3d384a25b55d5ce7f4c259b2d0',
      bot: false,
      lastMessageID: null,
      lastMessage: null,
    };
    user.send('Test');
  }
}

module.exports = Msgowner;

我需要以这种方式发送私信是有原因的,但我似乎不知道如何做。 (它现在给出的错误是一个未知函数)。还用通用数字替换 id 和鉴别器,但它们在我的代码中是正确的。

最佳答案

尝试这样的操作 - 使用 message.channel.members.find() 方法获取您要查找的成员:

async run(message) {
    // get Collection of members in channel
    let members = message.channel.members;

    // find specific member in collection - enter user's id in place of '<id number>'
    let guildMember = members.find('id', '<id number>');

    // send Direct Message to member
    guildMember.send('test message');
}

编辑:看起来也可以通过执行以下操作来查找当前 channel 之外的用户:

async run(message) {
    // get client from message's channel
    let client = message.channel.client;

    // fetch user via given user id
    let user = client.fetchUser('<id number>')
    .then(user => {
        // once promise returns with user, send user a DM
        user.send('Test message'); 
    });
}

关于node.js - 通过命令向数据库中的特定人员发送 DM,discord.js-commando,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48561487/

相关文章:

node.js - 应该按请求创建 OAuth2Client 还是按用户缓存?

javascript - Discord.js 在编辑消息之前发送并等待

node.js - webview:需求未定义

node.js - 运行顺序中的第二个任务不运行

javascript - NodeJS 异步回调未成功?

javascript - 使用 Node js + Express 4 + Passport 显示登录的用户名

javascript - 查看表情符号是否可以在 Discord.JS 中使用?

javascript - Discord.js react 后编辑消息

javascript - 如何让 Webhook 通过 Discord Bot 说话(循环)

python - 在discord.py中是否有类似于discord.js中的streamTime的东西?