📅  最后修改于: 2023-12-03 15:26:39.533000             🧑  作者: Mango
要在 Discord.js 中检查非法或不和谐的消息,您可以通过以下步骤查看私人消息(DM)中的消息是否为不和谐消息:
要获取私人消息,您可以使用 message.author
属性(它包含有关消息发送者的信息)以及 message.channel.type
属性(它检查消息发送通道类型,是否为“direct”类型)。
在您的 Discord.js 代码中添加以下代码行:
if (message.channel.type === "dm") {
const user = message.author; //获取消息发送者的用户对象
const dmChannel = user.dmChannel; //获取一个Discord.js表示用于与用户通信的私人频道
const dmMessages = await dmChannel.messages.fetch(); //获取所有私人消息
}
对于检查您认为可能不和谐的消息,您可以使用 dmMessages
数组中每条消息的 content
属性,这会返回消息的纯文本内容。
在您的 Discord.js 代码中添加以下代码行:
dmMessages.forEach((msg) => {
console.log(msg.content); //打印所有私人消息的文本内容
});
在查看私人消息的纯文本内容后,可以使用适合您的自定义算法来检查消息是否不和谐。
例如,如果您想检查是否包含不和谐文本,则可以使用 JavaScript 的 RegExp.test()
方法和自定义的正则表达式。以下是一个示例:
const isMessageNotSafe = (msg) => {
const illegalRegex = /(不和谐文本1|不和谐文本2|不和谐文本3)/gi; //定义不和谐文本的正则表达式
return illegalRegex.test(msg); //检查消息是否包含不和谐文本
};
dmMessages.forEach((msg) => {
if (isMessageNotSafe(msg.content)) {
console.log("找到一个不和谐消息:", msg.content);
//在控制台中打印不和谐消息,或者您可以执行其他自定义操作
}
});
以上是在 Discord.js 中查看非法或不和谐消息是否在私人频道中的一些示例步骤。在您的最终实现中,可能需要进行更复杂的检查操作。希望这能帮助您开始查看 Discord.js 中的不和谐消息!