This resolves#1125.
fixes a bug where some ratelimit buckets would include a trailing slash,
while others wouldn't; this would cause them to be treated as separate
ratelimits, even though they are the same
ideally this fix should change the ratelimit generator, but that code is
pretty complicated and this was an easier fix that seems less likely to
break things in the future.
tested against normal bot function, all routes are assigned the proper
buckets from my testing, so this should be good to go.
* feature: adjust the ratelimit for reactions
allows users to add reactions quickly
* fix: don't force DEBUG_LIMITS
* fix: undefined behavior using DateTime on intel architerctures
it's fine
* fix: ensure add/del rxn ends up in the same bucket
* Fix deploy conditions in CI script
The deploy conditions had been using a powershell-only variable, and not a environment variable. This meant that the deployment failed on both Windows and Linux (expected only on Linux).
* Remove an extra newline
* Remove Debug statements from appveyor build script
* Target Ubuntu in Appveyor CI build
AppVeyor has released support for targetting Ubuntu 18.04 environments.
This adds Ubuntu to the list of build images for Appveyor to use.
* Set clone folder to use appveyor defaults
* Check if appveyor provides appveyor-retry by trying to run it
* Minor syntax change
* Minor syntax change
* Skip using appveyor-retry (for now)
* Use forward slash for paths so that it works on both windows and linux
* Implement replacement for appveyor-retry
* Script cleanup
* Remove commented out line
* Only package releases on Windows
* Add the isWindows condition to the deploy stage
This adds the following property to ITextChannel
- SlowMode (int)
The SlowMode field defines the time in seconds users must wait between
sending messages; if zero, slow-mode is disabled.
Bots are not affected by slow-mode, and as such, no changes need to be
made to the REST client's internal ratelimiting. This is strictly a
read/write cosmetic property for bots.
* Fix swapped parameters in ArgumentException and ArgumentNullException cstrs
The constructors of ArgumentException and ArgumentNullException are inconsistent with each other, which results in their parameters being swapped here and there.
* Use named parameters for ArgumentException constructors
Cleans up some of the methods of EmbedBuilder to use simpler syntax as well
* Add input validation for bot tokens based on their length
* Add token validation to BaseDiscordClient#LoginAsync
Adds a TokenUtils class which is used to validate that tokens are correct
* Revert changes to DiscordRestApiClient
* Add Unit tests to the TokenUtils class, fix a logic error that was caught by those tests
* Allow for API to throw exceptions
Moves the validation of tokens to be inside of LoginInternalAsync, and writes a Warning to the console when the supplied tokens are invalid
* Added GetJumpUrl() as an IMessage extension method
* Removed extra line for consistency
* Moved the namespace from Discord.Commands to Discord
* lint: remove eof newline
* lint: use TextChannel to get GuildID
* Mark guild as optional for invite
* Mark partial InviteMetadata members as Optional<T>
* Some of them aren't sent when requesting through the general GET invite endpoint
* Remove GetInviteParams
* It was kinda stupid in the first place, might as well always get the count instead of having to ask the user whether they want the two fields filled or not.
* Add ChannelType property
* Add vanity invite support