diff --git a/src/modules/logging.js b/src/modules/logging.js index 04bbe5f..8498186 100644 --- a/src/modules/logging.js +++ b/src/modules/logging.js @@ -318,68 +318,71 @@ events.add("guildMemberAdd", "logging", async function (guild, member) { const channel = await getLoggingChannel(guild); if (!channel) return; + const timestamp = new Date().toISOString(); const user = member.user; const defaultAvatar = getDefaultAvatar(user.id, user.discriminator ?? 0); const avatar = user.avatar ? CDNEndpoints.USER_AVATAR(user.id, user.avatar) : defaultAvatar; - const memberSearch = await hf.bot.requestHandler - .request("POST", `/guilds/${guild.id}/members-search`, true, { - and_query: {user_id: {or_query: [user.id]}}, - or_query: {}, - limit: 5, - }) - .then((res) => res?.members?.[0]) - .catch(() => {}); + setTimeout(async () => { + const memberSearch = await hf.bot.requestHandler + .request("POST", `/guilds/${guild.id}/members-search`, true, { + and_query: {user_id: {or_query: [user.id]}}, + or_query: {}, + limit: 5, + }) + .then((res) => res?.members?.[0]) + .catch(() => {}); - let inviter; - if (memberSearch?.inviter_id) inviter = await guild.getMember(memberSearch.inviter_id); + let inviter; + if (memberSearch?.inviter_id) inviter = await guild.getRESTMember(memberSearch.inviter_id).catch(() => {}); - channel - .createMessage({ - embeds: [ - { - color: COLOR_ADDED, - title: "Member Joined", - description: `<@${user.id}> (${formatUsername(user)})`, - timestamp: new Date().toISOString(), - thumbnail: { - url: avatar, + channel + .createMessage({ + embeds: [ + { + color: COLOR_ADDED, + title: "Member Joined", + description: `<@${user.id}> (${formatUsername(user)})`, + timestamp, + thumbnail: { + url: avatar, + }, + fields: [ + { + name: "Created", + value: ``, + inline: true, + }, + { + name: "Join Method", + value: memberSearch?.join_source_type + ? `${JoinSourceTypeNames[memberSearch.join_source_type]}${ + memberSearch.source_invite_code + ? ` via \`${memberSearch.source_invite_code}\`` + : memberSearch.integration_type + ? ` via \`${ + GuildIntegrationTypes[memberSearch.integration_type] ?? + `` + }\`` + : "" + }` + : "Unknown", + inline: true, + }, + inviter && { + name: "Inviter", + value: `<@${inviter.id}> ${formatUsername(inviter.user)}`, + inline: true, + }, + ].filter((x) => !!x), + footer: { + text: `User ID: ${user.id}`, + }, }, - fields: [ - { - name: "Created", - value: ``, - inline: true, - }, - { - name: "Join Method", - value: memberSearch?.join_source_type - ? `${JoinSourceTypeNames[memberSearch.join_source_type]}${ - memberSearch.source_invite_code - ? ` via \`${memberSearch.source_invite_code}\`` - : memberSearch.integration_type - ? ` via \`${ - GuildIntegrationTypes[memberSearch.integration_type] ?? - `` - }\`` - : "" - }` - : "Unknown", - inline: true, - }, - inviter && { - name: "Inviter", - value: `<@${inviter.id}> ${formatUsername(inviter.user)}`, - inline: true, - }, - ].filter((x) => !!x), - footer: { - text: `User ID: ${user.id}`, - }, - }, - ], - }) - .catch(() => {}); + ], + }) + .catch(() => {}); + }, 1000); }); events.add("guildMemberRemove", "logging", async function (guild, member) {