discord.js DM 命令不是直接消息提到的用户

时间:2021-03-31 18:21:01

标签: javascript discord.js

当我制作我的不和谐机器人时,我遇到了另一个问题。现在我正在制定一个命令,该命令应该 DM 一个在 bot 命令频道中提到的人。但我无法让它工作。我尝试了很多东西,但它们似乎不起作用。如果有人可以帮助我,我将不胜感激这是我的 DM 命令代码:

module.exports = {
    name:'dm',
    description: 'dm mentioned user',
    execute(message, args){
        const user = message.mentions.users.first()

        user.send('test command');
        
        
        
    }
}

这是我在主文件中的代码:

if(command === 'dm'){
        client.commands.get('dm').execute(message, args, Discord, client);
    }

2 个答案:

答案 0 :(得分:0)

也许您需要先获取用户:

module.exports = {
  name: 'dm',
  description: 'dm mentioned user',
  async execute(message, args) {
    const user = await message.mentions.users.first().fetch();
    const channel = await user.createDM();

    channel.send('test command');
  },
};

答案 1 :(得分:0)

2个可能的原因,我的第一个猜测是你只能是DM会员,不能是用户

const user = message.mentions.users.first()
user.send('test command');

我的另一个猜测是,您尝试 DM 的人不允许来自陌生人的 DM。