Samuel Hernandez
c3b7383b77
discord: Add helper functions for creating commands and options
2021-11-18 15:15:03 -08:00
Samuel Hernandez
9edf2f9565
discord: Remove Choice types except for String, Integer, and Number
...
Choices are only valid for StringOptions, IntegerOptions, and
NumberOptions, so get rid of the invalid fields.
2021-11-18 15:15:03 -08:00
diamondburned
e6be4a3fab
discord: Minor comment tweaks
2021-11-16 14:36:07 -08:00
Tadeo Kondrak
2ec0e6b011
discord: Use json.Unmarshal instead for CommandInteractionOption ( #292 )
...
This ensures valid JSON strings are processed using the JSON rules, not
the Go rules.
2021-11-13 15:18:52 -08:00
Tadeo Kondrak
c98e2f8730
discord: Add Options field to AutocompleteOption
...
This is used for subcommands.
2021-11-13 13:45:26 -08:00
diamondburned
331ec59dec
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-12 11:38:36 -08:00
Hamza Ali
6fba21d704
api: Implement autocomplete components
2021-11-09 14:49:21 -08:00
diamondburned
e8131db8df
discord: Add VoiceState.SelfVideo; fixes #287
2021-10-30 16:43:28 -07:00
Nat
918cce64e9
discord: Fix json tag for Guild.Features ( #283 )
2021-10-04 23:22:27 -07: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
8ea320ccb9
discord: Add ChannelType field to CommandOption ( #279 )
...
* discord: add ChannelType field to CommandOption
* preallocate option.ChannelTypes
Co-authored-by: diamondburned <diamond@arikawa-hi.me>
Co-authored-by: diamondburned <diamond@arikawa-hi.me>
2021-09-28 14:12:04 -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
e203e31ab3
discord: Update to match current API docs ( #277 )
...
* discord: update permission constants
* discord: update MessageType constants, add ephemeral field to Attachment
Renamed ApplicationCommandMessage to ChatInputCommandMessage and add
ContextMenuCommand. Add the ephemeral field to Attachment.
* discord: add version field to Command
* gateway: remove ApplicationCommandUpdateEvent
52f1824451
2021-09-23 21:37:50 -07:00
diamondburned
76ec9cd43d
discord: Fix InteractionOption.String
2021-09-09 21:12:22 -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
02712516e3
discord: Change type of SelectComponent.MinValues to option.Int
2021-08-30 13:23:43 -07:00
Maximilian von Lindern
53c72c1e16
option: Move conflicting types into package discord
2021-08-30 13:23:43 -07:00
Maximilian von Lindern
2647267460
discord: Fix style issues ( #272 )
...
* Discord: Fix comment style issues
* Discord: use URL type alias for URls instead of string
2021-08-30 13:15:59 -07:00
rigormorrtiss
eece98903a
discord: Add Banner & Accent fields to User ( #267 )
...
* feat(discord): add banner & accent_color field to User struct
* feat(discord): use type Color (uint32) for User.AccentColor
* discord: change field name to Accent
2021-08-16 23:48:36 -07:00
rigormorrtiss
b253a5659b
discord: Add Invitable field for threads ( #268 )
2021-08-16 22:37:33 -07:00
rigormorrtiss
e97dcb750c
discord: Add omitempty option to Attachment.ContentType ( #263 )
2021-08-12 11:45:48 -07:00
Juby210
21888dcfc2
discord: Add missing ContentType to Attachment ( #262 )
2021-08-11 18:16:50 -07:00
starshines
f7880b91ee
discord: Add select component type ( #260 )
2021-08-10 14:02:30 -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
Starshine System
127c6776ac
discord: add missing command option types
2021-08-03 09:07:09 -07:00
rigormorrtiss
2fe1150d01
discord: Update Sticker struct, add missing fields ( #251 )
...
* Update Sticker struct & add missing fields
* Remove PreviewAsset field from Sticker
Co-authored-by: Maximilian von Lindern <maximilian.v.lindern@gmail.com>
* Update discord/message.go
Co-authored-by: Maximilian von Lindern <maximilian.v.lindern@gmail.com>
* Change Sticker.User type to *User
Co-authored-by: Maximilian von Lindern <maximilian.v.lindern@gmail.com>
* Update discord/message.go
Co-authored-by: Maximilian von Lindern <maximilian.v.lindern@gmail.com>
* Sticker types start from 0
Co-authored-by: Maximilian von Lindern <maximilian.v.lindern@gmail.com>
* Change Sticker.SortValue type to *int
Co-authored-by: Maximilian von Lindern <maximilian.v.lindern@gmail.com>
* Remove extra space
* Un-ignore Sticker.Tags field
Co-authored-by: Maximilian von Lindern <maximilian.v.lindern@gmail.com>
Co-authored-by: Maximilian von Lindern <maximilian.v.lindern@gmail.com>
2021-08-02 16:16:06 -07:00
Maximilian von Lindern
ce4bd67f17
discord: Add missing webhook fields ( #250 )
...
* discord: add missing webhook fields
* discord: add missing ,omitempty tags on Webhook
* discord: add missing ,omitempty tags on Webhook
2021-08-02 16:14:34 -07:00
Starshine System
9651328b74
discord: Raise embed description limit to 4096 characters ( #243 )
2021-07-11 13:19:54 -07:00
samhza
1b12057e51
discord: Make OverboundError.Error() have a pointer receiver ( #232 )
2021-06-18 00:15:02 -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
Germano Eichenberg
94090b92ff
discord, gateway: Add IsPending to Member & SupplementalMember ( #231 )
2021-06-17 13:40:57 -07:00
diamondburned
68313eb872
discord: Fix Channel not unmarshaling
2021-06-14 15:23:08 -07:00
Maximilian von Lindern
c8e7eff04e
discord: rename ActivityTimestamp to ActivityTimestamps
2021-06-06 13:12:24 -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
c45096c9fa
discord: Fix faulty marshal of Channel.RTCRegionID ( #210 )
2021-05-30 14:14:41 -07:00
Maximilian von Lindern
5a1837a094
discord/api: Add StageInstances
2021-05-29 22:17:39 -07:00
diamondburned
4595c87e36
discord: Fix {un,}marshal loop
2021-05-29 22:07:39 -07:00
Maximilian von Lindern
6f73088e7d
api/discord: Add RTCRegionID and VoiceQuality
2021-05-29 22:07:39 -07:00
diamondburned
b936d00ead
discord: Minor comment fixes for components
2021-05-29 21:32:38 -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
unknown
a1ab986ded
discord: Emoji methods use IsUnicode()
2021-05-29 14:16:44 -07:00
unknown
58fea822e1
discord: Fixed docs links
2021-05-29 14:16:44 -07:00
unknown
d69abe49de
discord: Add AllVoice perms
2021-05-29 14:16:44 -07:00
unknown
f5b3e3972b
discord: Use consts for Discord constants
2021-05-29 14:16:44 -07:00
Chan Wen Xu
c880cb2fc8
interaction: Implement buttons
2021-05-29 14:16:44 -07:00
unknown
f8195f6e87
discord: Add Emoji.IsCustom() & IsUnicode() methods
2021-05-20 22:53:46 -07:00
unknown
25152c85d9
discord: Fixed typo
2021-05-20 22:53:46 -07:00
unknown
cfd620ee39
discord: Add User.Tag() method
2021-05-20 22:53:46 -07:00
unknown
5026795551
discord: Add CreatedAt() methods
2021-05-20 22:53:46 -07:00
unknown
a10c4d2062
discord: Document User.Mention()
2021-05-20 22:53:46 -07:00
Chan Wen Xu
5b63307a4a
discord: Add certified moderator user flag
...
A new user flag has been documented in discord/discord-api-docs@55cd3d7 .
This commit adds the flag to arikawa.
2021-05-20 09:40:21 -07:00
diamondburned
968112fb53
Discord: typed snowflake for Interaction
2021-02-17 17:41:19 -08:00
Matthew Penner
7c3374543e
Discord: Add basic support for slash commands
2021-01-27 10:44:14 -08:00
diamondburned
afc4183020
Discord: Activity to have AppID instead for consistency
...
This change is breaking for the discord.Activity struct, but it's worth
having the consistency.
2021-01-27 10:30:09 -08:00
mavolin
d940a97a0f
Discord: add support for string based OverwriteTypes as used in GuildCreate
2021-01-10 13:29:11 -08:00
diamondburned
dcee1c2506
Discord: Fixed MessageType values
2021-01-05 13:38:37 -08:00
diamondburned
3e2814748f
Discord: Fixed Sticker rec bug, simpler TagList method
2020-12-19 16:08:28 -08:00
diamondburned
78a76ecb42
Discord: Revert "APIEmoji shouldn't be path-encoded"
...
This reverts commit dae2a0ffc1
.
2020-12-16 14:51:00 -08:00
diamondburned
dae2a0ffc1
Discord: APIEmoji shouldn't be path-encoded
2020-12-16 14:30:00 -08:00
diamondburned
86756dfbaa
Discord: Added typed APIEmoji
...
This commit adds a new discord.APIEmoji type along with changes to
certain methods in package API that utilizes this new type. Similarly to
typed snowflakes, this should help reduce mistakes when using the React
functions.
2020-12-16 12:24:23 -08:00
diamondburned
6ef093eb98
Gateway: Refactor, v8 user struct updates
...
This commit refactored several structures from package discord to be in
package gateway. Those structures are mostly presence ones, which per
official documentation has a lot more to do with the Gateway API than
the REST API or anything else.
This commit also renamed several global variables to have a more
consistent and obvious name.
As of v8, the user API has had a lot of minor and some major changes,
especially regarding its Ready event API. The most significant change is
the addition of the ReadySupplemental event as well as several changes
to the Ready field itself.
All of these changes above are breaking, and they have already broken
the state package. These breaking changes will be addressed in other
packages by the next commit.
2020-11-28 17:22:03 -08:00
diamondburned
ba1200059c
Discord: Fixed regression of unmarshaling Permission in Guild
2020-11-22 15:14:14 -08:00
mavolin
fc5d10ced8
Discord: optimize struct sizes; add missing fields
2020-11-22 09:16:24 -08:00
mavolin
a616eae7f0
API: rename ServiceX constants to XService
2020-11-22 09:14:07 -08:00
mavolin
0ec646e2a6
Discord: add Discord Service
2020-11-22 09:14:07 -08:00
mavolin
da8de00e75
Discord: remove unnecessary option types
2020-11-22 09:14:07 -08:00
mavolin
eb528da31d
Discord: add missing Integration fields
2020-11-22 09:14:07 -08:00
Maximilian von Lindern
1d58ea57fb
Discord: Add missing guild widget methods ( #168 )
...
* Discord: cleanup comments
* Discord: differentiate between GuildWidget and GuildWidgetSettings
* Discord: rename GuildImageURL and GuildImage to GuildWidgetURL and GuildWidget
* Discord: add missing guild widget endpoints
2020-11-21 09:40:54 -08:00
Maximilian von Lindern
d6a45529ad
Discord: Add Sticker ( #167 )
...
* Discord: add sticker related types
* Discord: add Sticker field to Message
2020-11-21 08:35:19 -08:00
Terra Brown
cdc0cfc300
Discord: (*Member).Mention proper format ( #164 )
2020-11-18 15:55:15 -08:00
mavolin
f9a59ac2e7
Discord: add doc to MessageReference
...
Add addtiontional type information to MessageReference as found in discord/discord-api-docs#2053
2020-11-03 10:25:57 -08:00
mavolin
eb118dc1d6
Discord: add Message.ReferencedMessage and InlinedReplyMessage
2020-11-03 10:14:53 -08:00
Maximilian von Lindern
607250ae55
Gateway: Added reconnect timeout; fixed UA ( #154 )
...
* Gateway: use gateway version 8
* API: remove old v0.0.1 version tag
* Discord: fix typos
* Gateway: add timeout
* Gateway: revert to returning errors on ReconnectCtx
2020-10-30 13:41:04 -07:00
diamondburned
108913b701
Discord: OverwriteType to accept numbers both stringed and not
...
Because Discord is so incompetent that they can't even handle 1s and 0s
in JSON, we can't really predict when they quote a number and when they
don't, because as it turns out, the documentation does not cover all
cases.
This commit adds a JSONUnmarshaler into OverwriteType to always trim the
quotes around then parse the number manually.
2020-10-29 13:25:03 -07:00
diamondburned
21ac7972fa
Discord: Renamed guild_const.go to guild_consts.go for correctness
2020-10-29 13:21:02 -07:00
diamondburned
75df94d9f4
*: Migrated Go Modules to v2
2020-10-28 15:39:59 -07:00
diamondburned
6183068c4d
Discord: Fixed incorrect OverwriteType string rules
2020-10-28 15:34:14 -07:00
diamondburned
795cbdef53
Discord: Fixed redundant and broken OverwriteType
2020-10-28 14:49:30 -07:00
diamondburned
994ddca1e1
Discord: Updated the Presence struct to be smaller
...
This commit omits a few fields in the Presence struct in accordance to
the new v8 structures.
Removed roles, premium_since, and nick
2020-10-28 14:39:44 -07:00
diamondburned
d405cc22b7
Discord: Embed fields deprecated
2020-10-28 14:13:19 -07:00
diamondburned
7a757209c2
Discord: Minor changes in Overwrite for v2
...
This commit changes the Overwrite type to omit the old "_new" API and
use the new field names, which are striings-serialized. The
OverwriteType is now also a strings-serialized number.
2020-10-28 14:08:29 -07:00
diamondburned
8aa60ebf8e
*: Removed the Game field
...
The Activities field should now be used. Access the first element.
2020-10-28 14:01:08 -07:00
mavolin
647efb8030
Discord: add Mention method to mentionable Snowflakes
2020-09-24 11:54:45 -07:00
mavolin
5acf9f3f22
Discord: fix invalid role mention generation
2020-08-24 16:32:51 -07:00
diamondburned
87c648ae1d
Discord: ParseSnowflake now uses ParseUint
2020-08-19 21:53:22 -07:00
Maximilian von Lindern
a7e9439109
Discord/API: implement changes to permission, allow and deny fields ( #141 )
2020-08-17 17:10:43 -07:00
mavolin
2a032ebfab
Discord: add watching activity
2020-08-03 17:46:04 -07:00
Maximilian von Lindern
1585797b52
*: Linting and typo fixes ( #134 )
...
* Linting and typo fixes
* Linting and typo fixes
* revert comma fix
2020-07-29 16:58:33 -07:00
Maximilian von Lindern
908ef96089
Discord: Uint64 typed Snowflakes ( #132 )
...
* Use typed Snowflakes if possible
* Discord: make Snowflakes uint64
* Fix errors that emerged because of new typing
2020-07-29 16:58:33 -07:00
Maximilian von Lindern
78c36f13cd
Discord: Rename Snowflake and Timestamp Valid methods ( #128 )
...
* Discord: rename Snowflake.Valid() to IsValid()
* Discord: rename Timestamp.Valid() to IsValid()
2020-07-29 16:58:33 -07:00
Tadeo Kondrak
d290b0d01c
*: Add typed Snowflake IDs ( #122 )
...
This PR closes #120 .
2020-07-29 16:58:33 -07:00
diamondburned
d18298aca9
Discord: Updated message's URL
2020-07-17 11:33:57 -07:00
diamondburned
7572caad31
Discord: Added Relationship API methods; moved structs around
2020-07-14 18:01:24 -07:00
mavolin
52bec08cc6
Discord: fix discovery splash url not getting properly calculated
2020-05-24 17:24:58 -07:00
mavolin
46b001548d
Discord: fix wrong hash for discovery splash url
2020-05-24 09:08:24 -07:00
mavolin
19b970bad7
Discord: fix #105
2020-05-23 14:24:03 -07:00
Maximilian von Lindern
ce38507fb0
Discord: fixes around meta images ( #104 )
...
* API: fix illogical order of parameters
* Discord: fixes around meta images
2020-05-23 10:17:30 -07:00
mavolin
6fbc3e6afd
Discord: fix #102
2020-05-23 09:04:12 -07:00