fix(guild): don't cache emojis/stickers/scheduled events if intent is disabled #1083
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Discord sends some fields in
GUILD_CREATE
s that are otherwise gated by intents, previously resulting in the library caching (and never updating)emojis
,stickers
, andscheduled_events
even with the intent disabled.This PR fixes the caching behavior to only cache them if the corresponding intent is enabled. It shouldn't affect non-gw guilds like those from
fetch_guild
etc., which continue to populate the emoji/sticker attributes.No documentation changes since it didn't seem necessary, but can be added if there's demand for it.
This was brought up here: https://canary.discord.com/channels/808030843078836254/942319505915412500/1130943549937029170
Checklist
pdm lint
pdm pyright