📌  相关文章
📜  如果一个人在 discord.js 上发送了消息,如何阅读 - Javascript (1)

📅  最后修改于: 2023-12-03 14:53:22.019000             🧑  作者: Mango

如何阅读 Discord.js 上的消息

在 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.authormessage.channelmessage.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 对象可以获取所有有关消息的信息,根据消息内容或发送者属性进行过滤后,可以实现更复杂的逻辑。