Commit graph

301 commits

Author SHA1 Message Date
Noah Santschi-Cooney
69edfdf4ac
discordapp.com -> discord.com (#772)
Change API URL from discordapp.com to discord.com
2020-05-08 21:26:13 -04:00
Carson Hoffman
45124d8303 Revert "Changed domain from discordapp.com to discord.com (#769)"
This reverts commit f4ca8874a3.
2020-05-07 12:27:07 -04:00
Hunter Paulson
f4ca8874a3
Changed domain from discordapp.com to discord.com (#769)
* Allow resume on reconnect

* Version 0.20.3: allow resume on reconnect

* Update index.md

* Update README.md

* Update GettingStarted.md

* Update endpoints.go

* Update README.md

* Update event.go

* Update wsapi.go

* Update restapi.go

* Resolved spelling issue

Co-authored-by: Carson Hoffman <c@rsonhoffman.com>
2020-05-04 21:13:28 -07:00
Carson Hoffman
525ac13aa7
Merge pull request #626 from AtomGrafiks/master
Add pagination to MessageReactions
2019-12-26 20:42:56 -05:00
Carson Hoffman
afe392e6c1
Merge pull request #694 from BigHeadGeorge/fix-tts-casing
Fix inconsistent TTS casing
2019-12-26 20:22:41 -05:00
Carson Hoffman
e4e03cf8b5
Merge pull request #683 from recapitalverb/develop
Remove State fallback from Session#Guild
2019-12-26 19:46:40 -05:00
Eric Wohltman
307c335eb6 Fix for Discord's API returning a 400 Bad Request if Content-Type is set, but the request body is empty. 2019-12-19 12:46:45 -05:00
Gregory DALMAR
10edf15944
Update fork and resolve conflicts 2019-11-20 18:50:51 +01:00
Bruce Marriner
8416350234 Merge branch 'master' of https://github.com/bwmarrin/discordgo 2019-10-18 10:46:55 -05:00
Bruce Marriner
8baec95e44 Merge branch 'develop' 2019-10-18 10:44:50 -05:00
tuckerrrrrrrrrrrr
bc6197c5e6 fix inconsistent tts casing 2019-09-10 18:09:24 -07:00
recapitalverb
7d04e7dfb3 Remove State fallback from Session#Guild 2019-08-09 20:59:46 +07:00
Julian Y
792b209680
Modify GuildEdit bounds check 2019-08-04 01:28:49 -07:00
tsudoko
191dea097d Escape # in emoji IDs passed to reaction endpoints (#615) 2019-07-21 21:11:43 -07:00
Qais Patankar
d3c96d18be Fix #622: support for WebhookExecute msg response (#663) 2019-07-21 21:07:28 -07:00
diamond's alt
7896167153 added useragent (#653) 2019-05-28 16:52:23 -07:00
Jesse
544e4b9a8c
Add proper response type for GuildBans docs
The previous documentation stated that the response type was an array of User structures, when the function return an array of GuildBan structures.
2019-05-12 19:14:27 -06:00
Gregory DALMAR
624ff560d4 Merge remote-tracking branch 'upstream/master' 2019-02-01 15:00:32 +01:00
Chris Rhodes
b86482cd77 Backport retrieving Guilds from State to develop. Fix bugs when Guild is Unavailable 2018-11-02 10:37:52 -07:00
Skippy
32167eae71
Merge pull request #546 from ikkerens/patch-2
Added GuildChannelCreateComplex
2018-08-27 11:29:35 -05:00
Skippy
2cc0417697
Merge pull request #366 from jD91mZM2/1
STOP USING PRINTF PLS
2018-08-22 19:50:27 -05:00
Gregory DALMAR
10b8f7c351 Add pagination to MessageReactions 2018-06-18 15:42:17 +02:00
Sebastian Winkler
6f45ea3535
adds Unique field to ChannelInviteCreate 2018-06-08 14:25:06 +02:00
Chris Rhodes
bb42325c3a
Add an explicit log and error for when a request is attempted with an unauthorized token that is not a bot token. (#553) 2018-05-26 16:52:00 -07:00
Bruce
adc6a99c3d
Merge pull request #551 from Seklfreak/add-emoji-methods
adds GuildEmojiCreate, GuildEmojiEdit, and GuildEmojiDelete
2018-05-24 09:08:06 -05:00
Sebastian Winkler
9aae26445f
adds InviteWithCounts 2018-05-23 16:27:14 +02:00
Sebastian Winkler
1bf986726a
fixes comments 2018-05-20 14:40:55 +02:00
Sebastian Winkler
8f686efd24
adds GuildEmojiCreate, GuildEmojiEdit, and GuildEmojiDelete 2018-05-20 14:37:02 +02:00
Rens Rikkerink
80ac382641
Added GuildChannelCreateComplex 2018-05-09 14:55:49 +02:00
Rens Rikkerink
da902d321c Reduce data sent to the DAPI in GuildChannelsReorder (#537)
This function currently has an issue where it sends too much data, causing Discord to reject the request as it believes you're trying to amend several fields by sending all of them.
This change resolves that by creating a simplified version of the Channel struct that only sends the data required for reordering.
2018-04-20 07:17:00 -07:00
Noah Santschi-Cooney
169895af55 Removed state checking from (s *Session) Guild(...) to be consistent with other methods (#530) 2018-04-07 15:53:07 -07:00
Bruce
75d58fe706
Merge pull request #445 from robbix1206/webhookEditChannelID
BREAKING CHANGE - Add ChannelID to WebhookEdit (#434)
2018-04-04 10:54:12 -05:00
Bruce
a9f8ccef5f
Merge pull request #511 from Seklfreak/add-guildchannelcreate-channeltype
BREAKING CHANGE - makes GuildChannelCreate use ChannelType (#510)
2018-04-04 10:00:13 -05:00
antihax
1cdc34e413 Add GuildMemberAdd 2018-03-26 14:56:28 -07:00
Necroforger
1ff9565306 Added UserConnections function and structs (#514)
* Added UserConnections function and structs

* Rename Connection to UserConnection

* Embed Integrations inside GuildIntegration and remove GuildIntegrationAccount

* Replaced GuildIntegration with Integration
2018-03-07 15:45:09 -08:00
Sebastian Winkler
eb11ffb51c
makes GuildChannelCreate use ChannelType (#510) 2018-02-22 14:44:09 +01:00
Sebastian Winkler
18dfe540ad adds GuildAuditLog() (#504)
* adds GuildAuditLogs()

* adds missing comments to GuildAuditLog
2018-01-11 07:09:12 -08:00
Bruce Marriner
b58212ae33 If there's an err, return it :) 2017-12-27 21:13:27 +00:00
psheets
e024d5f032 Add ChannelEditComplex (#493)
* Add ChannelEditComplex

* Fixed comment format

* gofmt

* Reverted permissions and fixed ChannelEditComplex

* Reverted Perms

* Delete discordgo - Shortcut.lnk

removed link

* Added ChannelID param to ChannelEditComplex

* gofmt
2017-12-14 21:59:07 -08:00
vim2meta
74a0038b63
Update restapi.go 2017-11-19 10:13:04 -05:00
vim2meta
d4e2b50ce4
Update restapi.go 2017-11-19 10:12:21 -05:00
Lukas Breuer
1b69ba4a5f
Format restapi.go with gofmt 2017-11-11 19:49:05 +01:00
Lukas Breuer
a838552b22
Remove XKCDPass Invites
This feature has been removed from the API quite some time ago.
2017-11-11 18:40:05 +01:00
Carson Hoffman
8f1a335d25 Added fix for #437 (#452) 2017-10-08 17:54:06 -07:00
Erik McClure
97a510ca0a Add rate limit buffering support (#430)
* Fix #406: reconnect() can be called while still connected

* Add memberMap to speed up member queries

* Fix error return value and remove deletion

* Fix GuildAdd member map initialization edge case

* Add rate limit buffering support

- Break request into requestInner
- Break LockBucket into LockBucketObject
- Change getBucket to GetBucket so it can be externally accessed
- Add RequestBuffer interface
- Add RequestBuffer pointer to Bucket struct
- Add RequestPostWithBuffer() function to Session

* Remove internal implementation, export ratelimiter instead
2017-10-07 10:54:46 -07:00
robbix1206
550145114d Add ChannelID to WebhookeEdit (#434) 2017-09-21 20:11:41 +02:00
jD91mZM2
c768789edf
Delete useless comma 2017-09-08 17:02:33 +02:00
jD91mZM2
f73dec458e
Stuff... yay 2017-09-08 17:01:32 +02:00
Nick Dumas
c4a08de525 Remove a misspelled copy of EndpointGuildInvites. Issue #440 (#441)
Reference Issue: https://github.com/bwmarrin/discordgo/issues/440
This endpoint was declard twice in endpoints.go, and used in the
GuildInvites() method on Session values. I replaced the misspelled
invocation.

All tests pass.
2017-09-07 13:46:40 -07:00
Chris Rhodes
fd8721a522 Revert "Fixed 404 when calling Session.GuildCreate (#439)"
This reverts commit cf237e4c25.
2017-09-04 21:39:35 -07:00
CarsonHoffman
cf237e4c25 Fixed 404 when calling Session.GuildCreate (#439) 2017-09-04 18:30:22 -07:00
LEGOlord208
2f51bf4d58
Merge branch 'develop' into 1 2017-08-29 07:53:58 +02:00
LEGOlord208
5cc3122299
Merge remote-tracking branch 'upstream/develop' into 1 2017-08-29 07:48:34 +02:00
LEGOlord208
9a36098f5c
Revert one usecase 2017-08-29 07:46:24 +02:00
robbix1206
d6b616c58f #429-Fix (#432) 2017-08-19 10:36:29 -07:00
Necroforger
faa8ececc0 MessageReactionsRemoveAll (#414) 2017-07-29 08:00:05 -07:00
LEGOlord208
fede59cfa0
Fixed compilation issues 2017-07-23 08:46:05 +02:00
LEGOlord208
2079ab8efb
More printfs 2017-07-23 08:42:47 +02:00
LEGOlord208
b813c5d0ca
Merge branch 'develop' into 1 2017-07-23 08:27:41 +02:00
jonas747
83e18aad7d Fix comment for GatewayBot 2017-07-10 18:31:26 +02:00
jonas747
9d3cd03314 Add GatewayBot 2017-07-10 18:31:26 +02:00
AAAAAAAAAAA
ef520cb26d Add GuildMemberDeleteWithReason (#399) 2017-07-02 17:42:05 -07:00
rfw
874325a504 Add and fix support for multiple file uploads via ChannelMessageSendComplex via the new field MessageSend.Files. (#391)
For compatibility with existing library consumers, the File field is retained but will behave as if Files contained that single file. If both are specified, ChannelMessageSendComplex will return an error.

The message JSON payload is moved to a form-data field called `payload_json`, instead of set in multipart form data. This is supported and the recommended way, as per the API docs.

Apparently, you can attach multiple files if you just name the parts names differently in the multipart request. The parts are named here using the order the files were specified, as `file%d`. This is not documented in the API docs, but definitely works.

This also removes serialization of the File field via json.Marshal, as it will never be directly serialized in the JSON. The new field, Files, is similarly not marshaled.

This additionally adds a ContentType field in File, which can be used to specify the content type of the attached file. The ContentType field will default to setting the header to `application/octet-stream` if empty. Discord currently doesn't do much with the Content-Type header, but we should pass this information along anyway in accordance to the MIME standard.
2017-06-10 13:13:28 -07:00
legolord208
6aec04d69d omitempty (#383) 2017-05-20 10:56:45 -07:00
legolord208
aa3973f956 Made error constants (Fixed #315) (#377) 2017-05-08 06:48:19 -07:00
Bruce
5e2c93b4f1 Added warning to New/Login functions fixes #342 2017-05-03 21:47:57 +00:00
legolord208
2b80b35528 ChannelFileSendWithComplex (#370)
* ChannelFileSendWithComplex

* Moved to ChannelMessageSendComplex

* Oops

* Return consistency

* Re-used variable

* Omit empty
2017-05-01 07:50:49 -07:00
jonas747
4fb7760b59 Added reason go GuildBanCreate (#367)
* Added reason go GuildBanCreate

* Added GuildBanCreateWithReason
2017-04-28 18:41:48 -07:00
legolord208
5cc4af9aa2 Chaining ChannelMessageEditComplex (#365)
* Chaining ChannelMessageEditComplex

* Removed .Do()
2017-04-28 12:24:38 -07:00
legolord208
43c8b518ad Added user notes (#361)
* Added user notes

* Added note websocket event (thanks iopred :D)

* Added ready event (thanks again, iopred)

* Renamed function
2017-04-28 12:22:02 -07:00
Lord-Ptolemy
be3675c2c2
Fixed grammatical error 2017-04-27 21:27:35 -04:00
LEGOlord208
65f0cb9f73 Arise error when user has 2FA (#359)
* Arise error when user has 2FA

* Fixed error message

* Removed ticket
2017-04-18 21:35:17 -07:00
Bruce
7044ac3441 username can be omitted on UserUpdate 2017-04-14 14:00:25 +00:00
LEGOlord208
7bcc0fbaca Added more fields (#354)
* Added more fields

* Fixed error

* Yep ok
2017-04-11 21:51:24 -07:00
LEGOlord208
851e8d3581 SendContent (#352)
* SendContent

* Fixed error...?

* Commented

* Yep let's do that

* Oops

* Oki

* Whatever you say, Travis... :<

* Omit them empty structs
2017-04-09 21:47:32 -07:00
LEGOlord208
fea42d937a ChannelMessageSendComplex (#349)
* ChannelMessageSendComplex

* ChannelMessageEditComplex

* I am a murderer.

* Travis didn't like that.

* I can't spell
2017-04-07 20:15:31 -07:00
LEGOlord208
a08cbd9ba7 It's not bot only though... 2017-04-05 14:46:35 +02:00
LEGOlord208
d4f874c0f4 UserAvatar to accept user object. (#337)
* UserAvatar to accept user object.

One of the most important thing with this library is that it does 1 request per function. You have 100% control over how many web requests get made.
UserAvatar breaks that.

UserAvatar now accepts a user, which not only makes you know how many web requests gets made, but might also save on web requests if you have an existing user object.

* Removed dots. Please work, travis :<

* Ohhh... A friend spotted the error!

* `go fmt` and fixed comment... PLS TRAVIS
2017-03-13 10:10:58 -07:00
Sebastian Winkler
b7f00b390a Added ChannelMessageSendEmbedWithMessage (#335)
* Added ChannelMessageSendEmbedWithMessage

* Updates ChannelMessageSendEmbed to use ChannelMessageSendEmbedWithMessage
2017-03-13 08:05:01 -07:00
Jonathan Alexander
383bdad7dd Add support for @me in GuildMemberNickname (#319) 2017-02-11 22:17:54 -08:00
jonas747
dce3ada92b Proper ratelimit buckets for RoleAdd and RoleRemove (#311) 2017-01-14 10:04:36 -08:00
Floretta
dacb0a3a0c Added comment line describing the around parameter 2017-01-03 16:42:27 +01:00
Floretta
c4c9502072 added Around parameter to ChannelMessages 2017-01-02 22:49:03 +01:00
jonas747
edc3213ffb Reuse http client, and export it (#301) 2016-12-25 16:23:11 -08:00
Bruce Marriner
9e777a083b Linting. 2016-12-11 12:45:34 -06:00
Chris Rhodes
fb346787be Improve permissions. (#298)
* Fix permissions to take into account @everyone override in channels.

* Keep early exit for channel owner.
2016-12-10 20:31:16 -08:00
jonas747
86a21ea94b Updated userguilds to new api (#296)
* Updated userguilds to new api

* Fixed typos
2016-12-10 09:45:07 -08:00
Chris Rhodes
36601253a4 Remove use of reflect.
This introduces gogenerate'ed EventHandlers from the files in events.go

This also adds support for AddHandlerOnce.
2016-12-03 23:31:07 -08:00
AI
2092185ec5 Implement support for new member role endpoint (#289)
Implements support for the new member role add and delete endpoint
hammerandchisel/discord-api-docs#179
2016-11-30 08:57:22 -08:00
Matthew Gerstman
d726f93375 Fix issue with trailing slashes in MacOS (#292)
* Fix issue with trailing slashes in MacOS
2016-11-29 19:24:22 -08:00
Chris Rhodes
54e0bd6087 Fix Admin permission calculations. 2016-11-29 19:09:01 -08:00
rytone
3f6a127baa Support for editing messages with embed data (#290) 2016-11-19 20:28:52 -08:00
Chris Rhodes
717c8f2538 Support embed messages. 2016-11-13 22:04:30 -08:00
AI
ed7a451a31 Add support for relationships (#284)
* 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 close bwmarrin/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.
2016-11-08 17:07:04 -08:00
AI
602885488b Fix supprt for reaction endpoint (#283)
- Adds support for deleting the reaction for a given user.
    - Requires MANAGE_MESSAGES permission.
  - Fixes the Sesssion.MessageReactions(...) function.
2016-11-08 11:49:30 -08:00
AI
982cd7d7c3 Add support for the prune endpoint (#282)
* 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.
2016-11-07 16:06:08 -08:00
jonas747
56b19073d3 Ratelimits (#273)
* 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
2016-11-04 08:07:22 -07:00
Chris Rhodes
5ef835fc80 Fix GuildBans. Fixes #263 2016-11-03 22:39:55 -07:00
Chris Rhodes
c96162c425 Add support for Message Reactions. 2016-11-03 22:07:06 -07:00
Chris Rhodes
84a92549bc Merge pull request #274 from iopred/develop
Add Webhook support.
2016-11-03 19:47:15 -07:00