📅  最后修改于: 2023-12-03 14:53:22.019000             🧑  作者: Mango
在 Discord.js 中,要阅读用户发送的消息,需要先建立一个 Discord.Client
对象,并添加一个事件监听器来监听 message
事件。每当有人在服务器或频道中发送消息时,就会触发此事件。
以下是一个基本示例:
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('message', message => {
console.log(`${message.author.username} 发送了消息: ${message.content}`);
});
client.login('BOT_TOKEN');
此代码将打印出每个消息的作者和内容。
message
参数是一个 Discord.Message
对象,其中包含了有关消息的所有信息,包括发送者、频道、服务器、时间戳等等。可以通过 message.author
、message.channel
、message.guild
等属性来获取这些信息。
以下是一些常用的消息对象属性:
message.author
:发送消息的用户对象message.content
:消息的文本内容message.channel
:发送消息的频道对象message.guild
:发送消息的服务器对象message.createdTimestamp
:消息的时间戳(UTC)在实际应用中,通常不会对每个消息都进行处理。可以使用一些方法来过滤掉不必要的消息。
比如,可以根据消息的内容或者发送者的角色进行过滤:
client.on('message', message => {
if (!message.content.startsWith('!')) return; // 忽略不以感叹号开头的消息
if (message.member.roles.cache.some(role => role.name === 'Moderators')) {
// 如果发送消息的用户有 'Moderators' 角色,则执行某些操作
}
});
以上代码会忽略不以感叹号开头的消息,并只对有 Moderators
角色的用户发送的消息进行处理。
在 Discord.js 中阅读消息是一个简单的操作,只需添加一个消息事件监听器即可。通过 message
对象可以获取所有有关消息的信息,根据消息内容或发送者属性进行过滤后,可以实现更复杂的逻辑。