message.author.content 不工作 discord.js
message.author.content not working discord.js
我尝试为 DM 频道发出 ping 命令,所以如果作者在 DM 频道中说 ping
机器人可以回复 pong
但它不起作用,控制台没有给出任何错误,机器人是不提供任何输出。
client.on('messageCreate', (message) => {
if(message.author.bot) return
//command
if (message.author.content === `ping`) {
message.author.send(`pong`);
}
});
编辑:message.content
在 DM 中不起作用
client.on('messageCreate', (message) => {
if(message.author.bot) return
//command
if (message.content.toLowerCase() === `ping`) {
message.author.send(`pong`);
}
});
前往 discord 开发者网站并确保您的消息内容意图已开启,并且 DM 消息将正常工作
虽然其他答案是需要做的事情,但它可能不是您遇到的问题的完整答案。您需要确保在机器人代码中启用的其他东西是您的 intents。在您的代码中的某处,您有这样一行开头:(可能不完全是这样)
const client = new Client({})
确保你在那里启用了你的意图
示例 1 启用最小意图
const client = new Client({
intents: ['GUILDS', 'GUILD_MEMBERS', 'GUILD_MESSAGES', 'DIRECT_MESSAGES'],
})
示例 2 启用所有意图
const client = new Client({
intents: 131071,
})
示例 3 使用 partials
启用所有意图
const client = new Client({
intents: 131071,
partials: ['CHANNEL', 'GUILD_MEMBER', 'GUILD_SCHEDULED_EVENT', 'MESSAGE', 'REACTION', 'USER']
})
更新意图:32767 不再包括所有意图,所有意图现在是 131071
message.author
没有任何 content
属性。如果要检查邮件内容,请按照文档中的说明使用 MessageComponent#content
。
还要确保您启用了正确的意图并要求验证您的机器人是否超过 100 个公会。
您缺少一个意图
Intents.FLAGS.DIRECT_MESSAGES,
Intents.FLAGS.DIRECT_MESSAGE_REACTIONS,
Intents.FLAGS.DIRECT_MESSAGE_TYPING,
或
const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES", "GUILD_MEMBERS","DIRECT_MESSAGES","DIRECT_MESSAGE_REACTIONS","DIRECT_MESSAGE_TYPING"] });
我尝试为 DM 频道发出 ping 命令,所以如果作者在 DM 频道中说 ping
机器人可以回复 pong
但它不起作用,控制台没有给出任何错误,机器人是不提供任何输出。
client.on('messageCreate', (message) => {
if(message.author.bot) return
//command
if (message.author.content === `ping`) {
message.author.send(`pong`);
}
});
编辑:message.content
在 DM 中不起作用
client.on('messageCreate', (message) => {
if(message.author.bot) return
//command
if (message.content.toLowerCase() === `ping`) {
message.author.send(`pong`);
}
});
前往 discord 开发者网站并确保您的消息内容意图已开启,并且 DM 消息将正常工作
虽然其他答案是需要做的事情,但它可能不是您遇到的问题的完整答案。您需要确保在机器人代码中启用的其他东西是您的 intents。在您的代码中的某处,您有这样一行开头:(可能不完全是这样)
const client = new Client({})
确保你在那里启用了你的意图
示例 1 启用最小意图
const client = new Client({
intents: ['GUILDS', 'GUILD_MEMBERS', 'GUILD_MESSAGES', 'DIRECT_MESSAGES'],
})
示例 2 启用所有意图
const client = new Client({
intents: 131071,
})
示例 3 使用 partials
启用所有意图const client = new Client({
intents: 131071,
partials: ['CHANNEL', 'GUILD_MEMBER', 'GUILD_SCHEDULED_EVENT', 'MESSAGE', 'REACTION', 'USER']
})
更新意图:32767 不再包括所有意图,所有意图现在是 131071
message.author
没有任何 content
属性。如果要检查邮件内容,请按照文档中的说明使用 MessageComponent#content
。
还要确保您启用了正确的意图并要求验证您的机器人是否超过 100 个公会。
您缺少一个意图
Intents.FLAGS.DIRECT_MESSAGES,
Intents.FLAGS.DIRECT_MESSAGE_REACTIONS,
Intents.FLAGS.DIRECT_MESSAGE_TYPING,
或
const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES", "GUILD_MEMBERS","DIRECT_MESSAGES","DIRECT_MESSAGE_REACTIONS","DIRECT_MESSAGE_TYPING"] });