Commit graph

328 commits

Author SHA1 Message Date
xIceArcher
842ddb357a
Support for multiple embeds in message routes (#1000) 2021-10-10 10:56:47 -04:00
Carson Hoffman
f7454d039f
Add more safety around message reference misuse 2021-08-10 21:40:36 -04:00
Fedor Lapshin
4ebe5a08ee
Selects component (#954)
* Interactions: the Buttons (#933)

* Interactions: buttons

* Doc fix

* Gofmt fix

* Fix typo

* Remaking interaction data into interface

* Godoc fix

* Gofmt fix

* Godoc fix

* InteractionData helper functions and some fixes in slash commands example

* Fix components example

* Yet another fix of components example

* Fix interaction unmarshaling

* Gofmt fix

* Godoc fix

* Gofmt fix

* Corrected naming and docs

* Rolled back API version

* Requested fixes

* Added support of components to webhook and regular messages

* Fix components unmarshaling

* Godoc fix

* Requested fixes

* Fixed unmarshaling issues

* Components example: cleanup

* Added components tracking to state

* Requested fixes

* Renaming fix

* Remove more named returns

* Minor English fixes

Co-authored-by: Carson Hoffman <c@rsonhoffman.com>

* Doc fix

* Gofmt fix

* Fix typo

* Remaking interaction data into interface

* Godoc fix

* Gofmt fix

* Godoc fix

* InteractionData helper functions and some fixes in slash commands example

* Fix components example

* Yet another fix of components example

* Fix interaction unmarshaling

* Godoc fix

* Gofmt fix

* Corrected naming and docs

* Rolled back API version

* Requested fixes

* Added support of components to webhook and regular messages

* Interactions: select menus

* Example fix

* Merge fix

* Some fixes

* Added missing documentation

* Fix components unmarshaling

* Godoc fix

* Requested fixes

* Fixed unmarshaling issues

* Components example: cleanup

* Gofmt fix

* Godoc fix

* URL field renaming fix

* Added flags to followups

* Updated components example

* Fixed typo in components example

* Merge fix

* Improve handling of invalid interaction situations

* support allowing webhook edits with files, and responding to interactions with files (#931)

* allow files in webhook message edits

* add Files to WebhookEdit struct

* move the construction of the multipart body for files into a shared function

* allow  interaction responses to have files

* go fmt

* fix err shadowing

* document MakeFilesBody

* rename MakeFilesBody -> EncodeWithFiles. fix InteractionRespond responding twice

* use resp in InteractionRespond files, add basic-command-with-files example command

* import strings and go fmt

* EncodeWithFiles -> MultiPartBodyWithJSON

* go fmt

* fix example for slash_commands

* move files to responsedata

* Merge fixes

* Fixed rebase consequences

Co-authored-by: Carson Hoffman <c@rsonhoffman.com>
Co-authored-by: plally <pierce@vulpes.dev>
2021-08-08 20:16:07 -04:00
plally
ab47f123ba
support allowing webhook edits with files, and responding to interactions with files (#931)
* allow files in webhook message edits

* add Files to WebhookEdit struct

* move the construction of the multipart body for files into a shared function

* allow  interaction responses to have files

* go fmt

* fix err shadowing

* document MakeFilesBody

* rename MakeFilesBody -> EncodeWithFiles. fix InteractionRespond responding twice

* use resp in InteractionRespond files, add basic-command-with-files example command

* import strings and go fmt

* EncodeWithFiles -> MultiPartBodyWithJSON

* go fmt

* fix example for slash_commands

* move files to responsedata
2021-07-30 11:22:08 -04:00
Xpl0itR
e72c457cb4
Get webhook message endpoint (#948)
* Get interaction response message by interaction token

* Rename methods
2021-06-17 17:19:10 -04:00
Eric Wohltman
9c33bfbada
Update unmarshal function to wrap ErrJSONUnmarshal and return specific error message. Requires at least Go 1.13. (#924) 2021-05-14 22:30:27 -04:00
Pierce
7d7206b01b
Bulk command overwrite (#926)
* add session.ApplicationCommandBulkOverwrite

* change ApplicationCommandBulkOverwrite to take a guildID

* formatting

* add omitempty to ID of ApplicationCommand
2021-05-11 23:51:33 -04:00
Carson Hoffman
182d9b48f3
Add more robust file support for webhooks 2021-03-14 12:27:22 -04:00
Fedor Lapshin
b0fa920925
Slash commands (#856)
* UnknownBan error code addition

* GuildBan method implementation

* Gofmt fix

Gofmt fix

* Interactions: application commands basic API and gateway integration

* Some gitignore update

* Application commands and interactions API implementation

* Some fixes

* Some improvements of slash-commands example and slash-commands API

* OAuth2 endpoints backward compatibility

* Gofmt fix

* Requested fixes and documentation improvement for application commands

* Some fixes

* New and more interesting example of slash-commands usage, merging "interaction.go" and "interactions.go" into a single file. And some fixes.

* Gofmt and documentation fixes

* More fixes

* Gofmt fixes

* More fixes!

* Doc and endpoint fixes

* Gofmt fix

* Remove dependence on open gateway connection

* Remove redundant command ID checks

* Fix typo in ApplicationCommandCreate comment

* Tidy up function calls returning body

* Add upcoming API changes

* Correct return value name, swap parameter order

* Add Version field to ApplicationCommand

* Fix up language in comments

* Remove redundant conversion to float64

Co-authored-by: Carson Hoffman <c@rsonhoffman.com>
2021-02-28 21:54:02 -05:00
Jim Eagle
4617d8e379
Add guild preview endpoint (#818) 2021-02-24 12:10:18 -05:00
Carson Hoffman
c27ad65527
Sleep for correct duration after 429 2021-02-05 13:06:05 -05:00
AlexPresso
b6deecb67d
Add MessageReactionsRemoveEmoji (#873)
* Add MessageReactionsRemove

* Add MessageReactionsRemove

* Rename MessageReactionsRemove to MessageReactionsRemoveEmoji

Co-authored-by: Qais Patankar <qaisjp@gmail.com>

* Update MessageReactionsRemoveEmoji comments

Co-authored-by: Qais Patankar <qaisjp@gmail.com>
2021-02-03 19:13:48 -05:00
Alex
5f6bb2d120
Set channel and role edit perms to int64 (#867)
* set channel and role edit perms to int64

* add string serialization
2021-01-27 12:55:31 -05:00
Carson Hoffman
daaafb5a7f
Rename fields for v8 2021-01-20 18:22:39 -05:00
Carson Hoffman
3773e286e6
Add v8 permissions changes 2021-01-20 18:11:20 -05:00
denverquane
e2c5d80fa6 Fix invalid RateLimit event type 2020-12-30 13:50:52 -07:00
Fedor Lapshin
f124f38563
GuildBan method and UnknownBan error code addition (#848)
* UnknownBan error code addition

* GuildBan method implementation

* Gofmt fix

Gofmt fix
2020-12-17 13:59:41 -05:00
Alexey
1b13267ba4 Add support for sending message reply 2020-11-20 16:11:12 +03:00
Chris Rhodes
7ab242d361 Add State helper methods for reading permissions and role colors from Message roles. 2020-10-16 18:09:59 +11:00
Aditya Diwakar
4b6abc53af
Add Guild Member Mute/Deaf Edit Support (#804)
*  Add member edit deaf/mute support

* Resolve omitempty issues
2020-08-12 10:24:33 -04:00
Aditya Diwakar
b7ef3c8e0f Handle error in ChannelNewsFollow 2020-08-06 19:31:43 -04:00
Aditya Diwakar
eb70c17733 Add support for retrieving Webhook ID 2020-08-05 18:54:12 -04:00
Aditya Diwakar
10195fcfbb Add support for news channels
Endpoint support added:
- @/channels/:id/messages/:id/crosspost - publishes a message in a news
  channel to followers
- @/channels/:id/followers - follows a news channel
2020-08-05 18:31:38 -04:00
Robbie Trencheny
4738844e34
Rename GuildEmoji to GuildEmojis 2020-06-28 16:02:02 -07:00
Robbie Trencheny
f193d81d83
Add GuildEmoji function 2020-06-28 16:01:21 -07:00
Dylan Meador
9c46cf4ec7
Update GuildMemberMove to support removing from all voice channels (#789) 2020-06-28 18:34:50 -04:00
b-o-r-k
a853557f4d
Add missing fields in GuildChannelCreateData (#782)
According to https://discord.com/developers/docs/resources/guild#create-guild-channel, the endpoint also accepts the following fields:

- rate_limit_per_user: integer
- position: integer
2020-06-15 11:14:01 -07:00
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