#node.js #discord.js
#node.js #discord.js
Вопрос:
Я получаю Cannot read the property 'inviter' of undefined
ошибку, и я не совсем уверен, почему. Вот мой код:
Client.on('guildMemberAdd', async (member) => {
const cachedInvites = GuildInvites.get(member.guild.id);
const nweInvites = await member.guild.fetchInvites();
GuildInvites.set(member.guild.id, nweInvites);
try {
const usedInvites = nweInvites.find(
(inv) => cachedInvites.get(inv.code) < inv.uses
);
const embed = new Discord.MessageEmbed()
.setDescription(
`${member.user.tag} is the ${member.guild.memberCount}th member. nInvited by ${usedInvites.inviter.username} nNumber of uses: ${usedInvites.uses}`
)
.setTimestamp()
.setColor('YELLOW');
const WelcomeChannel = member.guild.channels.cache.find(
(channel) => channel.id === '704908658068422698'
);
WelcomeChannel.send(embed).catch((err) => {
console.log(err);
});
} catch (err) {
console.log(err);
}
});
Client.login();
Я пытаюсь создать бота-менеджера приглашений. Буду признателен за любую помощь, спасибо!
Комментарии:
1. вот в чем проблема, usedInvites.inviter.username вы не получаете usedInvites
Ответ №1:
Что вы можете сделать, так это справиться с этой ситуацией, защитив свой код.
try {
const usedInvites = nweInvites.find(
(inv) => cachedInvites.get(inv.code) < inv.uses
);
if (!usedInvites) {
return;
}
const embed = new Discord.MessageEmbed()
.setDescription(
`${member.user.tag} is the ${member.guild.memberCount}th member. nInvited by ${usedInvites.inviter.username} nNumber of uses: ${usedInvites.uses}`
)
.setTimestamp()
.setColor('YELLOW');
const WelcomeChannel = member.guild.channels.cache.find(
(channel) => channel.id === '704908658068422698'
);
WelcomeChannel.send(embed).catch((err) => {
console.log(err);
});
}
Я добавил: if (!usedInvites) return;
но вы можете выполнить любое действие, которое вам нужно.