Discord. js получение члена гильдии от имени пользователя - PullRequest
0 голосов
/ 20 апреля 2020

Я надеюсь, что вы можете помочь. Я не могу найти решение для этого конкретного случая использования c.

Когда пользователь присоединяется к моему серверу, я хочу показать приветственную вставку и обновить свой ник в сервер.

У меня хорошо работает бит встраивания, но я не могу получить guildMember, используя предоставленный пользователем.

код: Discord. js v12.2

bot.on('guildMemberAdd', member=> {
const channel = member.guild.channels.cache.find(channel => channel.name === 'cloudservertesting');
if(!channel) return;

const embed = new Discord.MessageEmbed()
    .setColor('#992D22')
    .setTitle('New Member')
    .setDescription(`**${member.user.username}** has joined Red Wine Gaming!, Welcome!`)
        .setThumbnail(`${member.user.displayAvatarURL()}`)
    .setTimestamp();
channel.send(embed);
//Change users Nickname Here

});

member.guild.members возвращает объект, но он не позволяет мне .filter

Было бы идеально, если бы я мог получить члена гильдии из предоставленного mumer.user добавьте пользователя, чтобы я мог установить ник.

1 Ответ

0 голосов
/ 20 апреля 2020

Экземпляр GuildMember , который вы ищете, является вашим параметром member. Проверьте документацию по событию Client#guildMemberAdd, и вы увидите, что параметр является GuildMember.

member.setNickname('foo')
  .catch(console.error);

member.guild.members возвращает объект, но это не позволит мне .filter

Это потому, что начиная с версии v12 это менеджер, поэтому вам придется использовать свойство cache, чтобы использовать Collection#filter(). См. GuildMemberManager , в частности.

...