feat: add announcement channels, publishing and following (#3090)

This commit is contained in:
Hampus authored and GitHub committed 2026-10-01 16:57:21 +02:00
1 parent 376afd2ad6
commit 7e4d5137f8
381 files changed
+45650 -14076

No files matched your search

@@ -129,9 +129,9 @@ The Value column is the numeric `action_type`, which is also the value the `acti
| 40 | INVITE_CREATE | Invite was created. `target_id` is the invite code, and the action records the invite options |
| 41 | INVITE_UPDATE<sup>8</sup> | Invite was changed. `target_id` is the invite code, and the action records no options |
| 42 | INVITE_DELETE | Invite was deleted. `target_id` is the invite code, and the action records the invite options |
| 50 | WEBHOOK_CREATE | Webhook was created. `target_id` is the webhook, and the action records `channel_id`<sup>7</sup> |
| 51 | WEBHOOK_UPDATE | Webhook was changed. `target_id` is the webhook, and the action records `channel_id`<sup>7</sup> |
| 52 | WEBHOOK_DELETE | Webhook was deleted. `target_id` is the webhook, and the action records `channel_id`<sup>7</sup> |
| 50 | WEBHOOK_CREATE<sup>11</sup> | Webhook was created. `target_id` is the webhook, and the action records `channel_id` and `type`<sup>7</sup> |
| 51 | WEBHOOK_UPDATE | Webhook was changed. `target_id` is the webhook, and the action records `channel_id` and `type`<sup>7</sup> |
| 52 | WEBHOOK_DELETE<sup>11</sup> | Webhook was deleted. `target_id` is the webhook, and the action records `channel_id` and `type`<sup>7</sup> |
| 60 | EMOJI_CREATE | Emoji was created. `target_id` is the emoji, and the action records no options |
| 61 | EMOJI_UPDATE | Emoji was changed. `target_id` is the emoji, and the action records no options |
| 62 | EMOJI_DELETE | Emoji was deleted. `target_id` is the emoji, and the action records no options |
@@ -163,6 +163,8 @@ The Value column is the numeric `action_type`, which is also the value the `acti
<sup>10</sup> Recorded for an overwrite whose target is a role other than `@everyone`, when that role exists at the write
<sup>11</sup> [Follow announcement channel](/http-api/channels/#follow-announcement-channel) records `WEBHOOK_CREATE` in the following guild with `type` `2`, and deleting that webhook records `WEBHOOK_DELETE` the same way. Follower webhooks that Fluxer removes because the announcement channel was deleted or converted record no entry
:::note[An update that changes nothing records no entry]
GUILD_UPDATE, CHANNEL_UPDATE, CHANNEL_OVERWRITE_UPDATE, MEMBER_UPDATE, MEMBER_ROLE_UPDATE, MEMBER_MOVE, ROLE_UPDATE, WEBHOOK_UPDATE, EMOJI_UPDATE, and STICKER_UPDATE need a change other than `ip`. GUILD_UPDATE also ignores `guild_id`, `member_count`, and the image width and height fields. A reason alone records nothing.
:::
@@ -184,7 +186,7 @@ Every field is present only for the actions listed against it in the [audit acti
| message_id | string | The decimal ID of the single message the action concerns |
| members_removed<sup>4</sup> | number | The number of memberships the action removed |
| role_name<sup>5</sup> | string | The name of the role the action concerns, as it was when the entry was written |
| type<sup>6</sup> | number | The channel type, or the permission overwrite type |
| type<sup>6</sup> | number | The channel type, the permission overwrite type, or the webhook type |
| inviter_id | string | The decimal ID of the user that created the invite |
| max_age | number | The configured invite lifetime in seconds |
| max_uses | number | The configured maximum use count |
@@ -201,7 +203,7 @@ Every field is present only for the actions listed against it in the [audit acti
<sup>5</sup> Recorded by [MEMBER_ROLE_UPDATE](#audit-actions), [ROLE_UPDATE](#audit-actions), and an overwrite action whose target is a role other than `@everyone`
<sup>6</sup> The value is a [channel type](/http-api/channels/#channel-types) for the channel actions and a [permission overwrite type](/http-api/channels/#permission-overwrite-types) for the overwrite actions
<sup>6</sup> The value is a [channel type](/http-api/channels/#channel-types) for the channel actions, a [permission overwrite type](/http-api/channels/#permission-overwrite-types) for the overwrite actions, and a [webhook type](/http-api/webhooks/#webhook-types) for the webhook actions
## Audit log change object