logging: thread events parent channel, debug member search just in case
This commit is contained in:
		
							parent
							
								
									072a58fea0
								
							
						
					
					
						commit
						a82fa92bed
					
				
					 1 changed files with 76 additions and 59 deletions
				
			
		| 
						 | 
				
			
			@ -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) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue