仅在 dms 中回复 discord.js

Only reply in dms discord.js

所以我在这个项目上工作,人们将 DM BOT 和 运行 命令并回复测试。但是它没有回复。

client.on("messageCreate", async message => {
    if (message.content.startsWith(prefix)) {
        const args = message.content.slice(prefix.length).trim().split(/ +/g);

        const command = args.shift().toLowerCase();

        if (message.channel.type === 'dm') {
            message.reply("test");
        }
    }
});

这里有一个方法:

1.Create 一个名为 ** 'privateMessage.js'** 的文件并在主文件中添加:

const privateMessage = require('./privateMessage')

client.on('ready' ,() =>{
console.log('I am online')
client.user.setActivity('YouTube Music ', {type:'PLAYING'})
privateMessage(client, 'ping', 'pong')

})

在我们刚刚创建的文件中 privateMessage.js 添加:


module.exports=(client, triggerText, replyText)=>{
   client.on('message', message =>{
       if(message.content.toLowerCase()===triggerText.toLowerCase()){
           message.author.send(replyText)
       }
   })
}

那是因为你没有启用获取私信的意图, 尝试将这两个放在您的客户声明中:

const client = new Discord.Client({
    intents : ['DIRECT_MESSAGES','GUILD_MESSAGES'],
    partials: ["CHANNEL","MESSAGE"]
})