diamondburned
d8438f3b51
discord: Refactor interactions and components
...
This commit gets rid of contain-it-all structs and instead opt for
interface union types containing underlying concrete types with no
overloading.
The code is much more verbose by doing this, but the API is much nicer
to use. The only disadvantage in that regard is the interface assertion
being too verbose and risky for users at times.
2021-11-09 18:31:06 -08:00
Hamza Ali
6fba21d704
api: Implement autocomplete components
2021-11-09 14:49:21 -08:00
samhza
bfb644c124
api: Add CurrentApplication ( #282 )
...
* discord/api: support fetching bot's Application
* Update api/application.go
Co-authored-by: diamondburned <diamond@arikawa-hi.me>
Co-authored-by: diamondburned <diamond@arikawa-hi.me>
2021-10-03 13:31:48 -07:00
starshines
ca70e0cca9
discord: Add per-guild avatars, ModifyMe -> ModifyCurrentUser ( #278 )
...
* v3: discord, api, gateway: add per-guild avatars
* api: rename ModifyMe to ModifyCurrentUser
2021-09-28 11:46:36 -07:00
samhza
dc92845315
discord: move Interaction over; update api.CommandCreateData ( #274 )
...
- Moved gateway.InteractionCreateData to discord.Interaction, now
gateway.InteractionCreateData is a struct that wraps
discord.Interaction.
- Split InteractionData into CommandInteractionData and
ComponentInteractionData.
- Renamed ButtonInteraction to ComponentInteraction.
- Updated api.CommandCreateData to add new fields.
- Update Component types' Type() methods to pointer receivers.
2021-09-09 16:06:44 -07:00
Maximilian von Lindern
53c72c1e16
option: Move conflicting types into package discord
2021-08-30 13:23:43 -07:00
Maximilian von Lindern
f334491dee
api: Mutate validated embeds from discord.Embed.Validate ( #271 )
2021-08-24 11:23:49 -07:00
rigormorrtiss
1e9eb4a473
api: *Client.ActiveThreads returns ActiveThreads struct ( #270 )
...
* v3: api: *Client.ActiveThreads returns ActiveThread struct
* Apply suggestions
2021-08-20 02:27:53 -07:00
Maximilian von Lindern
b61179d188
api: Remove Client.Kick and rename .KickWithReason to .Kick
2021-08-18 11:31:16 -07:00
rigormorrtiss
b253a5659b
discord: Add Invitable field for threads ( #268 )
2021-08-16 22:37:33 -07:00
Maximilian von Lindern
525e8d527b
api: More multiple embed support for send functions ( #266 )
...
* api: Adapt Client.EditMessage, SendEmbedReply, and SendMessageReply to take in
multiple embeds
* api: Fix incorrect use of Client.EditMessage
* api: Make EditMessage omit empty content or embeds from payload
2021-08-16 02:26:25 -07:00
Maximilian von Lindern
19335e5050
api: Pointerize return types for consistency
...
Pointerize Client.Command, .GuildCommand, .CommandPermissions, and .EditCommandPermissions for consistency
2021-08-15 12:29:30 -07:00
Maximilian von Lindern
244570c280
api: Add support for the X-Audit-Log-Reason header ( #259 )
...
* api: add support for the X-Audit-Log-Reason header
* api: inline reason parameter, where data struct has a single field
2021-08-15 18:33:33 +02:00
Nat
dbfc49fb08
API: Fix Client.{Guild,}Command() ( #264 )
2021-08-14 22:27:22 -07:00
Maximilian von Lindern
955bb2aad2
api: Make some InteractionResponseData fields nullable ( #256 )
...
* api: make InteractionResponseData.Content, .Embeds, and .Components nullable
* Fix examples
* Remove test code
* fix commands example
2021-08-08 13:20:54 -07:00
Maximilian von Lindern
c00567599b
api: Threads ( #257 )
...
* api/gateway: Implement threads
* discord/api: rename PermissionOverwrites fields to Overwrites
* discord: rename Minutes to ArchiveDuration
* discord: Rename ArchiveDuration constants
Co-authored-by: diamondburned <datutbrus@gmail.com>
2021-08-08 13:19:15 -07:00
Maximilian von Lindern
101fe46313
api: Add missing slash command endpoints ( #252 )
...
* api: add missing slash command endpoints
* fix examples
* api: Remove Original prefix from Client.OriginalInteractionResponse,
EditOriginalResponse, and DeleteOriginalResponse
2021-08-03 11:44:20 -07:00
diamondburned
d4c66d4971
api: Omitted SearchData redundant option type
2021-06-26 17:04:00 -07:00
samhza
7bc2be1498
api: Add search endpoint ( #236 )
...
Co-authored-by: Terra Brown <superloach42@gmail.com>
2021-06-25 12:29:14 -07:00
samhza
354199383a
api: Remove Client.SendText ( #234 )
...
SendMessage(a, b) is equivalent to SendText(a, b) so SendText is
redundant.
Programs using SendText can be updated with
$ gofmt -r 'c.SendText(a, b) -> c.SendMessage(a, b)' -w .
2021-06-22 17:48:16 -07:00
samhza
37b8871c65
api: Update sending/editing messages for v9 ( #230 )
...
api.{Send,Edit}MessageData and their equivalents in package api/webhook
have been updated to add some fields added in Discord API v9.
(webhook.Client).EditMessage now also returns a message, because that
endpoint returns a message on success.
2021-06-17 23:32:11 -07:00
Hamza Ali
134f49d00f
discord: Add Flags field to InteractionResponseData
2021-06-14 15:23:08 -07:00
diamondburned
68313eb872
discord: Fix Channel not unmarshaling
2021-06-14 15:23:08 -07:00
diamondburned
5b328bdab0
shard: Remake shard manager ( #226 )
2021-06-14 15:22:55 -07:00
Samuel Hernandez
af3bedc472
api: allow interaction responses to include files
...
function RespondInteraction doesn't return a message.
systemPkgs
2021-06-10 16:58:10 -07:00
Maximilian von Lindern
f1f4f06979
*: Rename error types to have Error suffix ( #215 )
2021-06-06 12:40:24 -07:00
Samuel Hernandez
40e1a3757d
*: Migrated Go Modules to v3
2021-06-01 19:59:01 -07:00
Maximilian von Lindern
428ef4ac70
rate: Add rate.AcquireOptions
2021-05-29 22:25:52 -07:00
Maximilian von Lindern
5a1837a094
discord/api: Add StageInstances
2021-05-29 22:17:39 -07:00
Maximilian von Lindern
6f73088e7d
api/discord: Add RTCRegionID and VoiceQuality
2021-05-29 22:07:39 -07:00
Scott
10c8837000
api: Finalized buttons implementation ( #200 )
...
* all: Added Components fields to message-related types
* discord: Documented Reactions field
* discord: Implement fix for Component
* gateway: Added User and Message fields to InteractionCreateEvent
* api: Made InteractionResponseData fields optional for UpdateMessage responses
* api: Deprecated and updated interaction response types
* gateway: Update optional interaction event fields
* discord: Added ComponentWrap for json unmarshalling
* state: Update components on MessageUpdate
* Updated buttons example
2021-05-29 21:32:33 -07:00
Maximilian von Lindern
e04b19eb0f
api: Increase arikawa version in UserAgent to v3
2021-05-29 21:32:31 -07:00
Maximilian von Lindern
0119944b28
api/gateway: Increase API and gateways versions to 9
2021-05-29 21:32:20 -07:00
unknown
a7d87a7dd0
api: Use MessageFlags const
2021-05-29 14:16:44 -07:00
Chan Wen Xu
c880cb2fc8
interaction: Implement buttons
2021-05-29 14:16:44 -07:00
Maximilian von Lindern
7785887719
API: Update the Client.CreateChannel docs to mention the recent permission change
2021-05-29 12:40:10 -07:00
Maximilian von Lindern
ebc74e3168
Gateway: Sharding callback, proper closing ( #190 )
...
* Gateway: Fix gateway reconnect
This commit uses the correct timeout, Gateway.ReconnectTimeout, when reconnecting. Furthermore, it adds a delay between consecutive, failed reconnects.
* Gateway: Stop pacemaker when calling Gateway.CloseGracefully
* API: remove unnecessary leading/trailing whitespaces
* Gateway: Add Gateway.OnScalingRequired callback
* Gateway: Make all user initiated user closures graceful and ensure that closures are respected during reconnects
* Gateway: Fix typo
* Gateway: Add Gateway.ReconnectAttempts and deprecate .ReconnectTimeout
* Gateway: Add Gateway.Pause and reexport .Reconnect and .ReconnectCtx
* Gateway: Improve the Gateway.OnShardingRequired docs
* Wsutil: Code cleanup
2021-04-07 11:38:26 -07:00
Starshine System
37d285184a
API: Add CrosspostMessage method
2021-04-06 15:34:28 -07:00
diamondburned
050c1b6497
Webhook: Add rate limiter and WithContext
2021-03-05 20:01:33 -08:00
diamondburned
f5dc90c2d4
API: Add File.AttachmentURI for convenience
2021-02-24 01:59:33 -08:00
diamondburned
968112fb53
Discord: typed snowflake for Interaction
2021-02-17 17:41:19 -08:00
Scott
abeaef8122
API: Added SendReply methods ( #187 )
...
* API: Added SendReply methods
* Grammar edit
* referenceID & adheres to 100 column limit
2021-02-14 12:29:41 -08:00
Matthew Penner
7c3374543e
Discord: Add basic support for slash commands
2021-01-27 10:44:14 -08:00
diamondburned
c6d8c741e8
CI: Add perseverance test for Gateway
2020-12-31 23:48:29 -08:00
diamondburned
2f6ab0d451
API: Fix atomic SIGSEGV in ARM
2020-12-31 10:24:51 -08:00
diamondburned
700b55102d
API: Added JoinInvite
2020-12-31 00:16:43 -08:00
diamondburned
f3f075b27f
API: Add get Note endpoint
2020-12-26 16:13:10 -08:00
diamondburned
d69d6750dc
API: Separated min function
2020-12-26 16:08:41 -08:00
diamondburned
fdeff18f5d
API: Fix integration test
2020-12-16 14:51:32 -08:00
diamondburned
78a76ecb42
Discord: Revert "APIEmoji shouldn't be path-encoded"
...
This reverts commit dae2a0ffc1
.
2020-12-16 14:51:00 -08:00