diamondburned
525d0bb3f6
API: Move ExecuteWebhookData, add package sendpart for uploads
...
This commit moved ExecuteWebhookData from package api to package webhook
inside package api. This change required splitting the multipart
abstractions away from package api, so they are now inside package
sendpart in utils.
This commit will break code that uploads anything, as the type name is
now sendpart.File from api.SendMessageFile. The behavior should be the
same as before.
2020-12-16 13:11:11 -08:00
diamondburned
91dc41e388
API: Expose Max fetch constants
...
This commit exposes the Max fetch constants to allow package users to
externally reimplement any part of the API abstractions without having
to redeclare more constants.
2020-12-16 12:26:25 -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
Maximilian von Lindern
f887060983
Webhook: Add support for message edit and delete ( #180 )
...
* Webhook: Add support for message edit and delete
* Webhook: remove global functions
* Webhook: move package Webhook into api/
* Webhook: Moved (unused in API) data struct to package webhook
Co-authored-by: diamondburned <datutbrus@gmail.com>
2020-12-16 12:11:11 -08:00
diamondburned
d65807ce15
API: Potential rate limit fix for reactions
2020-12-11 17:58:52 -08:00
diamondburned
b8994ed0da
Voice: Remove state-keeping of sessions
...
This commit gets rid of all the code that previously managed different
voice sessions in different guilds. This is because there is rarely ever
a need for this, and most bots that need this could do their own
keeping.
This change, although removes some features off of the package, adds a
lot of clarity on what to do exactly when it comes to connecting to a
voice channel.
In order to make the migration process a bit easier, an example has been
added which guides through using the voice.Session API.
2020-11-30 19:12:20 -08:00
Maximilian von Lindern
0a8b24339b
API: Added timeout if deadline is after rate limit ( #173 )
...
* Rate: don't sleep if sleep exceeds context deadline
* Httputil: add Client.Timeout
* Bot: set default API timeout to 5 minutes
* Rate: reduce calls to time.Now in Acquire
* API: Optimize to use deadline instead of recalculating
Co-authored-by: diamondburned <datutbrus@gmail.com>
2020-11-25 12:08:42 -08:00
mavolin
a3aa53dcff
API: rename Client.GuildVanityURL to Client.GuildVanityInvite
2020-11-21 10:12:12 -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
mavolin
59d2ac8959
API: fix wrong constants getting used for fetch limits
2020-11-21 08:36:14 -08:00
diamondburned
4992f4ab20
API: Fixed incorrect DeleteAllReactions endpoint
2020-11-14 16:32:16 -08:00
diamondburned
6cbe95d2b3
State: Fixed erroneous context setting and races in Ready
2020-11-14 15:30:18 -08:00
Ethien Duckett
456692da93
API: stay within the boundaries of messageIDs ( #160 )
2020-11-11 11:07:30 -08:00
Maximilian von Lindern
cc1975988d
API: abstract away boundary limits for DeleteMessages ( #159 )
...
remove boundary limits for DeleteMessages
rename deleteMessages to deleteMessagesRaw
use constant instead of limit literal
add min helper func
rename utils.go to math.go
2020-11-10 15:34:05 -08:00
mavolin
d8ccaf78c3
API: rename SendMessageData.MessageReference to SendMessageData.Reference and fix omit issues
2020-11-03 10:35:45 -08:00
mavolin
e3c85094a7
API: add MessageReference
2020-11-03 10:14:53 -08:00
mavolin
88258b51c2
replace usage of discordapp.com with discord.com in docs
2020-11-03 10:14:53 -08:00
mavolin
661f96da03
API: add RepliedUser to AllowMentions
2020-11-03 10:14:53 -08:00
mavolin
5716c78d97
API: replace use of whitelist with more inclusive synonyms
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
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
f9f254148f
API: Fixed rate limiting tests
2020-10-28 15:23:47 -07:00
diamondburned
196cab2105
API: Better documented ModifyGuildWidgetData
2020-10-28 14:43:49 -07:00
diamondburned
2af51c9a5a
API: V8 breaking rate limit changes
...
This commit updates Retry-After to be seconds-accurate instead of the
previous millisecond-accurate. Another issue (#153 ) is opened to get a
more accurate number, which is in the JSON body instead of the header.
This commit also removed the rate limit precision header. It also uses a
more accurate calculation algorithm to derive the reset time.
2020-10-28 14:31:15 -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
6ce268a7fa
Gateway: Changed endpoint from v6 to v8
2020-10-28 13:56:11 -07:00
Maximilian von Lindern
397d288927
API: fix errors in message pagination and streamline changes with other pagination methods ( #150 )
...
* API: fix faulty pagination behavior
This fix fixes a condition which lead to all messages getting fetched if the limit was a multiple of 100, instead of just the limit.
* API: add NewestMessages
* API: clarify MessageAfter docs
* API: adapt paginating methods for guild, member and message reaction to match the style of message's pagination methods
* API: return nil if no items were fetched
* API: remove Messages and Rename NewestMessages to Messages
2020-10-19 07:47:43 -07:00
diamondburned
dec39c4c2d
API: Fixed Messages{Before,After} fetching incorrectly beyond 100s
2020-10-18 22:14:49 -07:00
mavolin
7d5cc89ff0
API: add KickWithReason
2020-08-22 10:05:37 -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
diamondburned
94cca0adca
httputil: Fixed unlock of unlocked mutex bug
2020-08-04 14:09:43 -07:00
mavolin
ba1fc650d1
API: fix wrong typed Snowflake
2020-07-29 20:03:24 -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
mavolin
8baf8ee84b
Multipartutil: move back to package api
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
32789bb6e2
*: Separate utils and internal ( #129 )
...
* Utils: move package utils/heart to internal/heart
* Utils: move package utils/moreatomic to internal/moreatomic
* Utils: move package utils/zlib to internal/zlib
2020-07-29 16:58:33 -07:00
Maximilian von Lindern
e1d9685cdb
API: separate token-based and bot-based interactions with webhooks ( #130 )
...
* API: separate token-based and bot-based interactions with webhooks
* API: move writeMultipart to internal/multipartutil
* Multipartutil: fix double filetype-suffix
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
7572caad31
Discord: Added Relationship API methods; moved structs around
2020-07-14 18:01:24 -07:00
diamondburned
bf7ca8450d
API: Fixed Ban panicking
2020-07-11 18:51:01 -07:00
diamondburned
712a061e8e
API: Added SetNote for user accounts
2020-07-11 14:27:03 -07:00
mavolin
960ba486bd
API: code cleanup
2020-05-24 17:28:04 -07:00
mavolin
a07f343b39
API: fix id field getting sent on EditChannelPermission
2020-05-24 17:28:04 -07:00
mavolin
6c3b1e0c56
API: verify Embed and AllowedMentions on message edit
2020-05-24 16:57:23 -07:00
mavolin
55e9c28d37
API: fix Message.Author.ID getting sent instead of Message.ID
2020-05-24 09:08:47 -07:00
mavolin
147b01641b
API: fix illogical order of parameters
2020-05-22 19:19:08 -07:00
mavolin
b67b993095
API: fix illogical order of parameters
2020-05-22 19:14:01 -07:00
mavolin
6cc6d05f5f
API: use CreateWebhookData instead of direct arguments
2020-05-22 19:00:51 -07:00
mavolin
93d9323b3b
API: fix accidental append instead of prepend
2020-05-22 17:09:55 -07:00
mavolin
7b52582c93
API: fix unlimited pagination error
2020-05-22 16:18:01 -07:00
mavolin
e4b43c0a83
Discord: fix invalid calc of after
2020-05-22 16:01:09 -07:00
mavolin
eefb6d731c
API: implement #93
2020-05-22 12:27:57 -07:00
mavolin
5fefaf07c4
API: fix #89
2020-05-22 10:47:46 -07:00
mavolin
1c53befad4
API: fix wrong endpoint for GuildWidget and ModifyGuildWidget
2020-05-17 10:34:11 -07:00
diamondburned
032ae736ab
Merge pull request #80 from mavolin/lowercase-errors
2020-05-16 17:32:17 -07:00
mavolin
b3fabae701
API: implement #77
2020-05-17 01:35:57 +02:00
mavolin
41ce1f389e
make all error messages lowercase
2020-05-16 23:14:49 +02:00
mavolin
22a6994c50
Discord: implement #74
2020-05-16 17:57:25 +02:00
mavolin
48a13e1fe8
API: add missing trailing linefeed
2020-05-15 20:38:22 +02:00
diamondburned
0c21aa8571
Merge pull request #69 from mavolin/46-guild-preview
...
API: Add missing GuildPreview endpoint
2020-05-15 11:28:29 -07:00
mavolin
b5dedf9408
API/Discord: add GuildPreview
2020-05-15 20:10:35 +02:00
diamondburned
f05eb0d5a8
Merge branch 'master' into 55-user-connections
2020-05-15 10:49:46 -07:00
diamondburned
6f6cf2b85c
Merge pull request #66 from mavolin/63-edit
2020-05-15 10:45:53 -07:00
mavolin
7cb3520bc7
API: re-add pointer to embed to preserve optionality
2020-05-15 19:40:00 +02:00
mavolin
b6fee46f69
API: remove comment
2020-05-15 19:37:10 +02:00
mavolin
4eef15ec7d
API: add UserConnections method ( #55 )
2020-05-15 19:31:23 +02:00
mavolin
a963ea46f1
API: fix missing doc
2020-05-15 19:29:04 +02:00
mavolin
52a7582dab
API: remove the pointer of Embed to concur with SendMessage
2020-05-15 19:19:13 +02:00
mavolin
11cf1eb769
API: implement #63
2020-05-15 19:17:52 +02:00
mavolin
e362b10084
API: update docs
2020-05-15 19:14:37 +02:00
diamondburned (Forefront)
763999a81e
API: Added extra Emoji documentation
2020-05-14 00:49:57 -07:00
diamondburned (Forefront)
91bc93f331
API: Fixed integration test
2020-05-12 17:34:36 -07:00
diamondburned (Forefront)
694c074902
API: Fixed EditMessage test
2020-05-12 17:29:22 -07:00
diamondburned (Forefront)
cc4e8c0966
API: Added test for EditMessage
2020-05-12 17:09:32 -07:00
diamondburned (Forefront)
9f1f7547b9
API: Reversed EditMessage API for backwards compatibility and consistency
2020-05-12 16:51:35 -07:00
diamondburned
c9bb0bbcb1
Merge pull request #61 from mavolin/49-message
2020-05-11 20:41:23 -07:00
diamondburned
554be03fc1
Merge pull request #62 from mavolin/56-webhooks
2020-05-11 20:41:01 -07:00
mavolin
b72ce3f220
API: implement #56
2020-05-12 05:26:09 +02:00
mavolin
72136d5aef
API: implement #49
2020-05-12 05:21:48 +02:00
diamondburned
73a4290ac9
Merge pull request #60 from mavolin/48-prune
2020-05-11 20:18:13 -07:00
mavolin
205f675f0c
API: implement #48
2020-05-12 05:15:50 +02:00
mavolin
31a96c888f
API: remove params
2020-05-12 05:08:55 +02:00
mavolin
56f7601547
API: implement #47
2020-05-12 04:58:41 +02:00
mavolin
fb3ea3ce10
API: code cleanup
2020-05-12 04:05:08 +02:00
Maximilian von Lindern
ae14c8fb73
Merge branch 'master' into 44-data-structs
2020-05-12 03:57:35 +02:00
mavolin
04a80d33e8
API: add docs, use option types
2020-05-12 03:44:13 +02:00
diamondburned
edfe429b22
Merge pull request #50 from mavolin/42-emoji
2020-05-11 17:32:56 -07:00
mavolin
ab140686c2
API: rename NewEmoji to NewCustomEmoji
2020-05-12 02:17:45 +02:00
diamondburned
36a18da10a
Merge pull request #53 from mavolin/39-empty-payload
2020-05-11 17:17:29 -07:00
diamondburned
79c3d58db3
Merge pull request #52 from mavolin/38-payload
2020-05-11 17:17:17 -07:00
mavolin
da42ff618a
API: fix unused payload
2020-05-12 02:16:08 +02:00
mavolin
d99b7448e5
API: remove unicode option and add explainatory comment.
2020-05-12 02:11:04 +02:00
mavolin
9cd753238a
API: improvements in docs
2020-05-11 21:07:08 +02:00
mavolin
17e5696cc9
API: close #42
2020-05-11 21:03:33 +02:00
mavolin
f597d11852
API: fix #39
2020-05-11 20:32:28 +02:00
mavolin
35d918eaf1
API: fix #38
2020-05-11 20:31:44 +02:00
mavolin
ec706b6ad2
API: fix #36
2020-05-11 20:24:28 +02:00
mavolin
4f4526eb49
API: make CreateChannelData.Type non-pointer
2020-05-11 13:53:25 +02:00
mavolin
b17c32187e
API: implement option and nullable types.
2020-05-11 05:24:59 +02:00
mavolin
a29a521c5a
Utils: add nullable package
2020-05-11 04:30:34 +02:00
mavolin
c642c8f306
Discord: refactor: move json.OptionT to dedicated json/option package
2020-05-11 03:14:30 +02:00
diamondburned
65bb8d21ee
Merge pull request #34 from mavolin/31-guild-image-style
2020-05-10 17:34:29 -07:00
mavolin
984c8f0239
API: fix #35
2020-05-11 01:48:26 +02:00
mavolin
cb0cba93fd
API: rename GuildImageType to GuildImageStyle
2020-05-10 22:13:47 +02:00
diamondburned (Forefront)
0f38294048
API: Added GuildWithCount
2020-05-09 14:59:39 -07:00
diamondburned (Forefront)
ea27e7c88d
API: MoveChannelData.Position shouldn't have omitempty
2020-05-08 14:32:18 -07:00
diamondburned (Forefront)
23b0abdfec
Adopted several packages to use NullSnowflake and NullSeconds
2020-05-08 14:25:07 -07:00
diamondburned (Forefront)
4e1dd8e2f4
API: Removed deprecated invite meta struct
2020-05-08 14:20:00 -07:00
diamondburned (Forefront)
3a43e413d8
Utils: Deprecated client-scoped JSON driver
2020-05-07 20:43:46 -07:00
diamondburned (Forefront)
52ca6638f5
Discord: Fixed incorrect Audit Log structures
2020-05-07 20:01:44 -07:00
diamondburned
ca80a524b0
Merge pull request #28 from mavolin/27-empty-payload
2020-05-07 17:10:08 -07:00
diamondburned (Forefront)
56d189be3d
Discord/API: Added Audit Log
2020-05-07 17:09:45 -07:00
mavolin
ac83d0b824
API: remove unused ErrEmojiTooLarge variable
2020-05-08 00:57:49 +02:00
mavolin
ee32e54bff
API: fix #27
2020-05-08 00:47:08 +02:00
diamondburned (Forefront)
728815e945
API: Fixed Image and compile errors
2020-05-07 14:29:46 -07:00
diamondburned (Forefront)
619558ecab
API: Several breaking updates to conform with current documentation
2020-05-07 12:32:56 -07:00
diamondburned (Forefront)
f22d6eaa9f
Utils/API: Replaced semaphore-mutex API
2020-05-06 00:40:31 -07:00
diamondburned (Forefront)
e07784a03a
Utils: Swapped go-csync with /x/sync/semaphore
2020-05-06 00:32:21 -07:00
diamondburned (Forefront)
f6a6178286
Updated Discord endpoints to discord.com
2020-05-04 12:08:55 -07:00
diamondburned (Forefront)
af682d3f35
API: WithContext documentation
2020-05-03 14:04:09 -07:00
diamondburned (Forefront)
a0bccd9c35
API: Added WithContext API, closes #15
2020-05-03 14:02:03 -07:00
diamondburned (Forefront)
c1ace1829b
API: Added an integration test for React
2020-04-26 17:27:08 -07:00
diamondburned (Forefront)
451d838544
API: Added more tests
2020-04-20 16:35:43 -07:00
diamondburned (Forefront)
610c19efea
API: Applied earlier Files change to Webhooks
2020-04-20 16:33:01 -07:00
diamondburned (Forefront)
f068e29af0
API: Allow empty messages with files to be sent
2020-04-20 16:30:12 -07:00
diamondburned (Forefront)
748ad5641c
API: Added AllowedMentions and more tests
2020-04-19 16:35:37 -07:00
diamondburned (Forefront)
2afe683b7d
Utils: Added HTTP drivers
2020-04-19 14:53:53 -07:00
diamondburned (Forefront)
bf93a9cee9
Changed endpoint constants to variables
2020-04-19 09:30:12 -07:00
diamondburned (Forefront)
be12849668
Changed internal/ to utils/, allowing external imports
2020-04-08 19:28:40 -07:00
diamondburned (Forefront)
d5a3a0bd45
API: Changed ModifyChannel to match other Modify channels
2020-04-08 17:57:44 -07:00
diamondburned (Forefront)
bd32b19645
API: Fixed UserRateLimit 0 and omitempty
2020-04-08 17:48:36 -07:00
diamondburned (Forefront)
743a8a8fd9
API: Fixed FormatEmojiAPI
2020-03-22 15:23:29 -07:00
diamondburned (Forefront)
14b9d8f43a
API: Fixed unlock of unlocked mutex bug
2020-03-01 14:25:54 -08:00
diamondburned (Forefront)
79c4c1caca
Gateway/State: Added message acking and more user update events for State
2020-02-24 21:50:13 -08:00
diamondburned (Forefront)
4b53d72db1
Discord: Removed invalid avatar discriminator URL
2020-02-17 09:28:52 -08:00
diamondburned (Forefront)
8e3826e5d6
State: Fixed an error related to the last commit
2020-02-10 20:28:36 -08:00
diamondburned (Forefront)
f33dc2ee75
API: Fixed major rate limiters not working
2020-02-09 12:54:16 -08:00
diamondburned
ce752a0230
API: Improved the rate limit parser
2020-02-07 08:37:01 -08:00
diamondburned
f3b4362ada
API: Added reactions into rate limit parsers
2020-02-07 08:31:10 -08:00
diamondburned (Forefront)
cea3e47c27
discord: Fixed APIString method for emoji
2020-01-25 00:05:14 -08:00
diamondburned (Forefront)
79567a9eff
Fixed ExecuteEmbed
2020-01-23 22:10:54 -08:00
diamondburned (Forefront)
3154333310
Changed Embed to Embeds in Webhook
2020-01-23 22:05:09 -08:00
diamondburned (Forefront)
6fb68be631
More Reaction API changes
2020-01-22 21:13:53 -08:00
diamondburned (Forefront)
7e73f00eb9
Fixed bug where ParseContent interface methods won't return a proper error
2020-01-20 20:25:47 -08:00
diamondburned (Forefront)
73f5cdec9e
Added HTTP retry, fixed async JSON body corrupting
2020-01-20 11:28:55 -08:00
diamondburned (Forefront)
ff0bc7b98b
Tweaks to tests and CI
2020-01-20 03:15:41 -08:00
diamondburned (Forefront)
0978d513c4
Fixed bug where Messages can't be fetched
2020-01-19 23:21:57 -08:00
diamondburned (Forefront)
ac685b0df4
Minor fixes, undocumented things, and editorconfig
2020-01-19 13:54:16 -08:00
diamondburned (Forefront)
532a8ba8b4
Apparently I don't need reaction rate limits
2020-01-19 09:52:43 -08:00