无法读取 属性 'includes' 未定义的不和谐嵌入来检测表情符号
Cannot read property 'includes' of undefined discord embeds to detect emojis
我在标题方面遇到了同样的问题,但得到了解决方案,idk,我搞砸了这个。我正在尝试检测嵌入的表情符号。
for (var i = 0; i < message.embeds.length; i++) {
if (message.embeds[i] && message.embeds[i].description.includes("✨")) {
console.log('Emoji detected');
break;
}
}
提前致谢。
我得到的错误是
if (message.embeds[i] && message.embeds[i].description.includes("✨")) {
^
TypeError: 无法读取未定义的 属性 'includes'
查看documentation,字段message.embeds
是MessageEmbed
个对象的数组,由多个字段组成,包括字段description
。
文档中有趣的部分是字段的类型。这里字段 description
的类型为 ?string
。 ?
告诉您该字段可能不在此处。这就是为什么你的循环中有错误。在尝试使用它之前,您必须检查该字段是否存在。
示例:
for (var i = 0; i < message.embeds.length; i++) {
if (message.embeds[i] &&
message.embeds[i].description &&
message.embeds[i].description.includes('✨')) {
console.log('Emoji detected');
break;
}
}
ES6 中的示例:
if (message.embeds.some(x => x.description && x.description.includes('✨'))) {
console.log('Emoji detected');
}
我在标题方面遇到了同样的问题,但得到了解决方案,idk,我搞砸了这个。我正在尝试检测嵌入的表情符号。
for (var i = 0; i < message.embeds.length; i++) {
if (message.embeds[i] && message.embeds[i].description.includes("✨")) {
console.log('Emoji detected');
break;
}
}
提前致谢。
我得到的错误是
if (message.embeds[i] && message.embeds[i].description.includes("✨")) {
^
TypeError: 无法读取未定义的 属性 'includes'
查看documentation,字段message.embeds
是MessageEmbed
个对象的数组,由多个字段组成,包括字段description
。
文档中有趣的部分是字段的类型。这里字段 description
的类型为 ?string
。 ?
告诉您该字段可能不在此处。这就是为什么你的循环中有错误。在尝试使用它之前,您必须检查该字段是否存在。
示例:
for (var i = 0; i < message.embeds.length; i++) {
if (message.embeds[i] &&
message.embeds[i].description &&
message.embeds[i].description.includes('✨')) {
console.log('Emoji detected');
break;
}
}
ES6 中的示例:
if (message.embeds.some(x => x.description && x.description.includes('✨'))) {
console.log('Emoji detected');
}