Skip to content

Instantly share code, notes, and snippets.

@mydkong
Created July 8, 2025 14:39
Show Gist options
  • Save mydkong/8a185110831b08adb6e8e42b3068e7e2 to your computer and use it in GitHub Desktop.
Save mydkong/8a185110831b08adb6e8e42b3068e7e2 to your computer and use it in GitHub Desktop.
guildMemberRemove sharing for Discord.JS Discord guild
client.on(Events.GuildMemberRemove, async member=>{
console.log('helllllllo !')
const interaction=member;
const invitations=await interaction.guild.invites.fetch();
var invitation;
for(const invit of invitations.values()){
const cacheKey=`${interaction.guild.id}-${invit.code}`;
const cachedUses=invitsCache.get(cacheKey)||0;
if(invitsMembers.get(interaction.user.id)===cacheKey){
invitation=invit;
break;
}
}
console.log('invitation :',invitation)
if(invitation){
try{
membres[interaction.guild.id]=membres[interaction.guild.id]||{};
membres[interaction.guild.id][invitation.inviterId]=(membres[interaction.guild.id][invitation.inviterId]||1)-1;
}catch{}
const jsonStr=JSON.stringify(membres, null, 4);
fs.writeFileSync('members.json', jsonStr, 'utf8');
membres=JSON.parse(jsonStr);
try{
const inviter=await interaction.guild.members.cache.get(invitation.inviterId);
const text=new TextDisplayBuilder().setContent(`### Une personne a quitté la communauté ikikrepus <:noooo:1104388038047567943>...\nTriste jour... Même si [\`@${inviter.user.globalName||inviter.user.username}\`](https://discord.com/users/${invitation.inviterId}) a invité [\`@${interaction.user.globalName||interaction.user.username}\`](https://discord.com/users/${interaction.user.id}) dans la communauté ikikrepus, il a finalement quitté (flop ?) <a:pepefindumonde:1392090738480648264>\nCela retire donc **1** invitation à [\`@${inviter.user.globalName||inviter.user.username}\`](https://discord.com/users/${invitation.inviterId}) qui en a maintenant **${membres[interaction.guild.id][invitation.inviterId]||'???'}**. <:pepebonok:1392091637085376614>`)
const thumbnail=new ThumbnailBuilder().setURL(interaction.user.avatarURL({ dynamic: true, size: 256 })||member.user.defaultAvatarURL);
const section=new SectionBuilder();
section.setThumbnailAccessory(thumbnail);
section.addTextDisplayComponents(text);
const container=new ContainerBuilder();
container.addSectionComponents(section);
let targetChannel;
if(interaction.guild.id==='1387948986987446332'){
targetChannel=await interaction.guild.channels.cache.get('1387948988690595927');
}else if(interaction.guild.id==='1075714463023505468'){
targetChannel=await interaction.guild.channels.cache.get('1143097572660101182');
}
if(targetChannel){
await targetChannel.send({
flags: MessageFlags.IsComponentsV2,
components: [container]
})
}
}catch{}
}
});
@mydkong
Copy link
Author

mydkong commented Jul 8, 2025

const client=new Client({
	intents: [
	GatewayIntentBits.Guilds,
	GatewayIntentBits.GuildMessages,
	GatewayIntentBits.GuildMembers,
	GatewayIntentBits.MessageContent,
	GatewayIntentBits.GuildEmojisAndStickers,
	GatewayIntentBits.GuildMessageReactions,
	GatewayIntentBits.GuildInvites
	],
	presence: {
		status: 'online', // statut online (icone verte)
		activities: [{
			name: '155 membres !',
			type: ActivityType.Watching // regarde (...)
		}]
	}
});

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment