This commit adds a new method `DetermineUploadSize` into both api.Client
and state.State, which implement the core logic to determine the right
upload size limit for the current user. Bots can ignore this method.
This commit also adds constants for the upload size limits, with
different constants for different scenarios (nitro, server boosts).
Bots can directly use the `UploadSizeLimit` constant, which is the
default lowest limit.
* Add initial implementation for automoderator api
* Move AutoModerationRuleID to snowflake.go and go generate
* Combine a struct and document all the things
* Add audit log reasons to modify and delete in automoderation
* Update docstrings and change how data is passed in
* Rename plurals to singulars and update data stuff
* fixup
* Update to use optional
* Move params out of data
* fixup and add types
This might fix Discord pings not working. AFAIK Discord might have
changed the defaults which might have broken some of our bots.
Bots that want to set flags should explicitly do so. We're not
supporting Discord's defaults.
This commit introduces a slash commands and autocompletion router. It
abstracts the switch-cases that the user has to do in each
InteractionEvent handler away.
The router is largely inspired by go-chi's design. Refer to the tests
for examples.
* feat: add support for disabling signature verification
* feat: refactor solution to not break api
* feat: make InteractionServer.ServeHTTP use InteractionServer.httpHandler
* Add Tag and TagID for forum capabilities
* set correct json flags
* Fix up naming and minor fixes
Co-authored-by: diamondburned <diamond@arikawa-hi.me>
This commit adds Interaction webhook server support directly into the
library.
Bots can now support both receiving events through the Discord gateway
and the Interaction webhook handler within the same library.
This reverts commit 2aaa2002d8.
The initial goal of this addition is to be used for interaction
followups, but the interaction event already comes with the application
ID.
The addition was also not done properly, and no invalidation on event is
done.
* implement the gateway side of guild scheduled event
* Add proper punctuation to each docstring
* Fix UserAdd and UserRemove events
* Add MANAGE_EVENTS permission
* Implement the API-side of scheduled events
* Add ScheduledEvent method
* Cleanup
* Support modal interactions along with the TextInput component
* Replace ModalInteraction with Modal to prevent confusion
* Fix the required field from not being used correctly
* PR Fixes