【发布时间】:2020-09-25 23:49:04
【问题描述】:
我有一个在消息嵌入的所有文本中查找关键字的函数:我知道要做到这一点还有很长的路要走,但否则我不知道如何完成同样的事情。
我从有关该主题的另一篇文章中获得了此功能,但我收到此错误,如果我不能。还有其他方法可以从嵌入中获取数据吗?
const Discord = require("discord.js");
const bot = new Discord.Client();
const config = require("./config.json")
function findInMessage(message, target, {
caseSensitive = false,
author = false,
description = true,
footer = true,
title = true,
fields = true
}) {
if (!target || !message) return null;
let str = caseSensitive ? target : target.toLowerCase();
if ((caseSensitive && message.content.includes(str)) ||
(!caseSensitive && message.content.toLowerCase().includes(str))) return true;
for (let embed of message.embeds) {
if ((caseSensitive && (
(author && embed.author.includes(str)) ||
(description && embed.description.includes(str)) ||
(footer && embed.footer.includes(str)) ||
(title && embed.title.includes(str)))) ||
(!caseSensitive && (
(author && embed.author.toLowerCase().includes(str)) ||
(description && embed.description.toLowerCase().includes(str)) ||
(footer && embed.footer.toLowerCase().includes(str)) ||
(title && embed.title.toLowerCase().includes(str))))
) return true;
if (fields)
for (let field of embed.fields) {
if ((caseSensitive && [field.name, field.value].includes(str)) ||
(!caseSensitive && [field.name.toLowerCase(), field.value.toLowerCase()].includes(str))) return true;
}
}
return false;
}
错误:
caseSensitive = false,
^
TypeError: Cannot read property 'caseSensitive' of undefined
【问题讨论】:
标签: javascript discord.js embed