Node.js DISCORD.JS如何获取邀请新成员的人的姓名?
我正在尝试将邀请新成员的用户的姓名添加到我的欢迎消息中! 你能帮我吗?我会在下面留下我的代码,如果你能帮我的话,谢谢你Node.js DISCORD.JS如何获取邀请新成员的人的姓名?,node.js,discord,discord.js,Node.js,Discord,Discord.js,我正在尝试将邀请新成员的用户的姓名添加到我的欢迎消息中! 你能帮我吗?我会在下面留下我的代码,如果你能帮我的话,谢谢你 client.on("guildMemberAdd", async (member) => { let guild = await client.guilds.cache.get("SERVER ID"); // SERVER ID let channel = await client.channels.cach
client.on("guildMemberAdd", async (member) => {
let guild = await client.guilds.cache.get("SERVER ID"); // SERVER ID
let channel = await client.channels.cache.get("CHANNEL ID"); // CHANNEL ID
let emoji = await member.guild.emojis.cache.find(emoji => emoji.name === "eba"); // NOME DO EMOJI
if (guild != member.guild) {
return console.log("Sem boas-vindas pra você! Sai daqui saco pela."); // MENSAGEM EXIBIDA NO CONSOLE
} else {
let embed = await new Discord.MessageEmbed()
.setColor("#fcfcfc")
.setAuthor(member.user.tag, member.user.displayAvatarURL())
.setTitle(`:boom: Boas-vindas :boom:`)
.setImage("https://media.tenor.com/images/c001d9d78724152f00eca4d8ed2e2b9c/tenor.gif")
.setDescription(`**Olá ${member.user}!**\nBem-vindo(a) ao servidor **${guild.name}**!\nVocê é o membro **#${member.guild.memberCount}\n**Compartilhe nosso servidor! :heart:`)
.setFooter("Servidor Espalha Lixo") // Set footer
.setTimestamp();
channel.send(embed);
}
});
这是有效的;查看此代码
client.on('guildMemberAdd', member => { //guildMemberAdd event
member.guild.fetchInvites().then(guildInvites => {
// This is the *existing* invites for the guild.
const ei = invites[member.guild.id];
// Update the cached invites for the guild.
invites[member.guild.id] = guildInvites;
// Look through the invites, find the one for which the uses went up.
const invite = guildInvites.find(i => ei.get(i.code).uses < i.uses);
// This is just to simplify the message being sent below (inviter doesn't have a tag property)
const inviter = client.users.get(invite.inviter.id);
channel.send(`${member.user.tag} joined using invite code - ${invite.code} from ${inviter.tag}. Invite was used ${invite.uses} times since its creation.`);
})
});
client.on('guildMemberAdd',member=>{//guildMemberAdd事件
然后(guildInvites=>{
//这是公会的“现有”邀请。
const ei=邀请[member.guild.id];
//更新公会的缓存邀请。
邀请[member.guild.id]=Guidinvites;
//浏览一下邀请函,找到使用量增加的邀请函。
const invite=guildInvites.find(i=>ei.get(i.code).uses
您可以在github上找到更多信息。
答案-
inviter.tag
from code没有官方方法通过Discord的API来找出谁邀请了某人。人们要做的是存储现有邀请的列表,当有人加入时,将存储的列表与当前列表进行比较,找出哪个邀请的使用次数增加了
它不是完美的,可能会在大量用户加入的情况下进入大型服务器
《白痴指南》网站上有一个关于这个主题的很棒的指南: