logging: delay joins by a second to be able to get members-search info
This commit is contained in:
parent
38e3ace7af
commit
636a52290e
1 changed files with 58 additions and 55 deletions
|
@ -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: `<t:${Math.floor(snowflakeToTimestamp(user.id) / 1000)}:R>`,
|
||||
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 integration: ${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: `<t:${Math.floor(snowflakeToTimestamp(user.id) / 1000)}:R>`,
|
||||
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 integration: ${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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue