logging: thread events parent channel, debug member search just in case

This commit is contained in:
Cynthia Foxwell 2025-04-27 19:17:27 -06:00
parent 072a58fea0
commit a82fa92bed
Signed by: Cynosphere
SSH key fingerprint: SHA256:H3SM8ufP/uxqLwKSH7xY89TDnbR9uOHzjLoBr0tlajk

View file

@ -195,7 +195,13 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
value: `<@${entry.user.id}> (${formatUsername(entry.user)})`,
inline: true,
},
],
entry.target?.parentID != null && {
name: "Parent Channel",
value: `<#${entry.target.parentID}> (${
entry.guild.channels.get(entry.target.parentID)?.name ?? "<uncached>"
})`,
},
].filter((x) => !!x),
footer: {
text: `Thread ID: ${entry.targetID}`,
},
@ -243,6 +249,12 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
name: "Slowmode",
value: `\`${entry.before.rate_limit_per_user}\` -> \`${entry.after.rate_limit_per_user}\``,
},
entry.target?.parentID != null && {
name: "Parent Channel",
value: `<#${entry.target.parentID}> (${
entry.guild.channels.get(entry.target.parentID)?.name ?? "<uncached>"
})`,
},
].filter((x) => !!x),
footer: {
text: `Thread ID: ${entry.targetID}`,
@ -268,7 +280,13 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
value: `<@${entry.user.id}> (${formatUsername(entry.user)})`,
inline: true,
},
],
entry.target?.parentID != null && {
name: "Parent Channel",
value: `<#${entry.target.parentID}> (${
entry.guild.channels.get(entry.target.parentID)?.name ?? "<uncached>"
})`,
},
].filter((x) => !!x),
footer: {
text: `Thread ID: ${entry.targetID}`,
},
@ -343,66 +361,65 @@ events.add("guildMemberAdd", "logging", async function (guild, member) {
const defaultAvatar = getDefaultAvatar(user.id, user.discriminator ?? 0);
const avatar = user.avatar ? CDNEndpoints.USER_AVATAR(user.id, user.avatar) : defaultAvatar;
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(() => {});
const searchReq = await hf.bot.requestHandler
.request("POST", `/guilds/${guild.id}/members-search`, true, {
and_query: {user_id: {or_query: [user.id]}},
or_query: {},
limit: 5,
})
.catch(() => {});
logger.verbose("logging", `Member search result: ${guild.id} - ${user.id}: ${JSON.stringify(searchReq ?? {})}`);
const memberSearch = searchReq?.members?.[0];
let inviter;
if (memberSearch?.inviter_id) inviter = await guild.getRESTMember(memberSearch.inviter_id).catch(() => {});
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,
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}`,
},
channel
.createMessage({
embeds: [
{
color: COLOR_ADDED,
title: "Member Joined",
description: `<@${user.id}> (${formatUsername(user)})`,
timestamp,
thumbnail: {
url: avatar,
},
],
})
.catch(() => {});
}, 5000);
fields: [
{
name: "Created",
value: `<t:${Math.floor(snowflakeToTimestamp(user.id) / 1000)}:R>`,
inline: true,
},
memberSearch?.join_source_type && {
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(() => {});
});
events.add("guildMemberRemove", "logging", async function (guild, member) {