【发布时间】:2021-02-05 08:15:23
【问题描述】:
我正在尝试为我的不和谐机器人制作表情符号反应,在我单击“❌”表情符号之前一切正常,但是当我单击“❌”表情符号时出现此错误:TypeError: Cannot read property 'emoji' of undefined
错误显示这一行:if (reaction.emoji.name === '❌')
const Discord = require("discord.js");
const ayarlar = require("../ayarlar.json");
module.exports.run = async (bot, message, args) => {
let gonderenKisi = message.author;
let mesaj = args.slice(0).join(" ");
if(!mesaj) return message.reply("**➤ Mesaj Atabilmek İçin Bir Mesaj Yazmalısın!**").then(message => {
message.delete({ timeout: 5000 });
});
const filter = (reaction, user) => {
return ['❌'].includes(reaction.emoji.name) && user.id === message.author.id;
};
const sEmbed = new Discord.MessageEmbed()
.setDescription(`➤ ` + mesaj)
.setAuthor(`➤ Yeni Bir Fotoğraf Paylaşıldı !`)
.setThumbnail(message.guild.iconURL())
.setColor('RANDOM')
.setFooter(`➤ Fotoğraf Atan: ${message.author.username}`, message.author.displayAvatarURL())
.setTimestamp(message.createdAt)
message.delete();
message.channel.send(sEmbed).then(e =>
e.react("❤️")).then(e =>
e.message.react("❌")).catch(e => {
console.error('Emojiler De Sorun Var.');
});
message.awaitReactions(filter, { max: 1 })
.then(collected => {
const reaction = collected.first();
if (reaction.emoji.name === '❌') {
collected.on('collect', () => {
message.delete();
var s2Embed = new Discord.MessageEmbed()
.setTitle(`${message.author.username} Mesajın Silindi.`)
.setColor('RANDOM')
.setDescription(`Mesajı Silen : ${message.author.username}`, message.author.displayAvatarURL())
message.channel.send(s2Embed)
});
}
}).catch(e => {
console.error(e)
})
};
module.exports.config = {
name: 'instagram',
aliases: ['i']
}
【问题讨论】:
-
这个 `collected.first()` 为你返回 undefined。您需要首先验证它是否返回了您想要的对象,然后
reaction将具有emoji属性
标签: javascript node.js discord.js bots