logging: thread tags
This commit is contained in:
		
							parent
							
								
									70dbc62394
								
							
						
					
					
						commit
						9dcc211fd9
					
				
					 1 changed files with 49 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -200,6 +200,7 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
 | 
			
		|||
                    value: `<#${entry.target.parentID}> (${
 | 
			
		||||
                      entry.guild.channels.get(entry.target.parentID)?.name ?? "<uncached>"
 | 
			
		||||
                    })`,
 | 
			
		||||
                    inline: true,
 | 
			
		||||
                  },
 | 
			
		||||
                ].filter((x) => !!x),
 | 
			
		||||
                footer: {
 | 
			
		||||
| 
						 | 
				
			
			@ -212,6 +213,41 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
 | 
			
		|||
        break;
 | 
			
		||||
      }
 | 
			
		||||
      case AuditLogActions.THREAD_UPDATE: {
 | 
			
		||||
        const parentChannel = entry.guild.channels.get(entry.target.parentID);
 | 
			
		||||
 | 
			
		||||
        let tagDiff;
 | 
			
		||||
        if (entry.after.applied_tags != null) {
 | 
			
		||||
          const newTags = new Set(entry.after.applied_tags);
 | 
			
		||||
          const oldTags = new Set(entry.before.applied_tags ?? []);
 | 
			
		||||
 | 
			
		||||
          let addedTags = Array.from(newTags.difference(oldTags));
 | 
			
		||||
          let removedTags = Array.from(oldTags.difference(newTags));
 | 
			
		||||
 | 
			
		||||
          if (parentChannel != null) {
 | 
			
		||||
            addedTags = addedTags.map((id) => {
 | 
			
		||||
              const tag = parentChannel.availableTags.find((t) => t.id === id);
 | 
			
		||||
 | 
			
		||||
              return tag != null ? `${tag.emojiName} ${tag.name}` : id;
 | 
			
		||||
            });
 | 
			
		||||
            removedTags = removedTags.map((id) => {
 | 
			
		||||
              const tag = parentChannel.availableTags.find((t) => t.id === id);
 | 
			
		||||
 | 
			
		||||
              return tag != null ? `${tag.emojiName} ${tag.name}` : id;
 | 
			
		||||
            });
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          tagDiff = "```diff\n";
 | 
			
		||||
 | 
			
		||||
          if (addedTags.length > 0) tagDiff += "+ " + addedTags.join("\n+ ");
 | 
			
		||||
 | 
			
		||||
          if (removedTags.length > 0) {
 | 
			
		||||
            if (addedTags.length > 0) tagDiff += "\n";
 | 
			
		||||
            tagDiff += "- " + removedTags.join("\n- ");
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          tagDiff += "```";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        channel
 | 
			
		||||
          .createMessage({
 | 
			
		||||
            embeds: [
 | 
			
		||||
| 
						 | 
				
			
			@ -240,20 +276,27 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
 | 
			
		|||
                  entry.after.name != null && {
 | 
			
		||||
                    name: "Name",
 | 
			
		||||
                    value: `\`${entry.before.name}\` -> \`${entry.after.name}\``,
 | 
			
		||||
                    inline: true,
 | 
			
		||||
                  },
 | 
			
		||||
                  entry.target?.parentID != null && {
 | 
			
		||||
                    name: "Parent Channel",
 | 
			
		||||
                    value: `<#${entry.target.parentID}> (${parentChannel?.name ?? "<uncached>"})`,
 | 
			
		||||
                    inline: true,
 | 
			
		||||
                  },
 | 
			
		||||
                  entry.after.auto_archive_duration != null && {
 | 
			
		||||
                    name: "Hide After Inactivity",
 | 
			
		||||
                    value: `\`${entry.before.auto_archive_duration}\` -> \`${entry.after.auto_archive_duration}\``,
 | 
			
		||||
                    inline: true,
 | 
			
		||||
                  },
 | 
			
		||||
                  entry.after.rate_limit_per_user != null && {
 | 
			
		||||
                    name: "Slowmode",
 | 
			
		||||
                    value: `\`${entry.before.rate_limit_per_user}\` -> \`${entry.after.rate_limit_per_user}\``,
 | 
			
		||||
                    inline: true,
 | 
			
		||||
                  },
 | 
			
		||||
                  entry.target?.parentID != null && {
 | 
			
		||||
                    name: "Parent Channel",
 | 
			
		||||
                    value: `<#${entry.target.parentID}> (${
 | 
			
		||||
                      entry.guild.channels.get(entry.target.parentID)?.name ?? "<uncached>"
 | 
			
		||||
                    })`,
 | 
			
		||||
                  tagDiff != null && {
 | 
			
		||||
                    name: "Tags",
 | 
			
		||||
                    value: tagDiff,
 | 
			
		||||
                    inline: false,
 | 
			
		||||
                  },
 | 
			
		||||
                ].filter((x) => !!x),
 | 
			
		||||
                footer: {
 | 
			
		||||
| 
						 | 
				
			
			@ -285,6 +328,7 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
 | 
			
		|||
                    value: `<#${entry.target.parentID}> (${
 | 
			
		||||
                      entry.guild.channels.get(entry.target.parentID)?.name ?? "<uncached>"
 | 
			
		||||
                    })`,
 | 
			
		||||
                    inline: true,
 | 
			
		||||
                  },
 | 
			
		||||
                ].filter((x) => !!x),
 | 
			
		||||
                footer: {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue