* Add support for relationships
Adds Support for:
- Sending friend request.
- Accepting friend request.
- Getting all the relationships.
- Getting all the mutual friends with another user.
- Blocking a user.
**Note:**
- Bot accounts are not allowed to access the endpoint.
- May closebwmarrin/discordgo#150
* Implement requested changes
Changed the uint8 declarations to int.
* Change the missed unint8 declaration to int
Missed one instance of unint8 during previous push.
* Add support for the prune endpoint
Adds functions to get the amount of members that could be pruned
and to prune members using the prune endpoint.
May close: bwmarrin/discordgo#147
* Deal with the go vet error
Removed the json tags from the unexported struct.
Should pass the tests now.
* Make the PR consistent with the rest of the file.
Removes url building in favour of string concatenation.
* Fix the previous commit
Adds back the result struct.
Converts the uint32 to string.
* Deal with golint comments
* Remove the failing test
Cleans up the uri concatenation.
Removes the failing test due to incorrect permissions.
* Added ratelimiter
Handles the new ratelimit headers
- X-RateLimit-Remaining
- X-RateLimit-Reset
- X-RateLimit-Global
* Pad only reset time with a second
* Moved ratelimiter out of internal package
* Change for loop, move global ratelimit check inside sleep check
* Moved ratelimiter locking to getBucket
* Added global bucket
* Changed how bucket id's are done
Now each request function will need to specify the bucket id if the
endpoint contains minor variables
* Allow empty bucketID in request
* Remove some uneeded Endpoint* function calls
* Added test for global ratelimits
* Fixed a silly little mistake causing incorrect ratelimits
* Update test comments, Fixed treating a endpoint as 2 in ratelimiting
* Use date header from discord instead of relying on sys time sync
* Update all REST functions to use RequestWithBucketID
* Embed mutex into bucket
* Added webhook and reaction buckets
Requires a channelID and a slice of messageIDs from the channel.
If only on ID is in the slice calls ChannelMessageDelete() internally.
If the slice of IDs is empty do nothing.
Renamed RateLimit struct to TooManyRequests{} and added new event struct
RateLimited{} which can be registerd to with AddHandler() and will be
emitted anytime a HTTP 429 is received on the HTTP API.