我有一个简单的机器人:
const Discord = require('discord.js');
const client = new Discord.Client({
intents: [
Discord.GatewayIntentBits.Guilds,
Discord.GatewayIntentBits.GuildMessages,
Discord.GatewayIntentBits.DirectMessages,
],
});
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('messageCreate', (message) => {
if (message.author.bot) return; // Ignore messages from bots
message.channel.send('Hello');
});
// login code here
我希望机器人响应与“你好”,它收到的每一个DM。现在,它只能成功地对它所在的服务器中的任何消息进行“hello”响应。
我该怎么做?我有“消息内容意图”权限在我的设置页面切换,所以我不知道我错过了什么。
1条答案
按热度按时间jexiocij1#
如果你想创建一个只支持DM的机器人,你可以检查
channel.type
并忽略任何不是DM的东西。您可以在discord.js v14中使用ChannelType.DM
枚举。DM通道可以不缓存,因此您还需要添加
Channel
部分: