* feat: Add support of StageInstance RESTAPI and Events
* chore: Make the changes for following the current convention of package
* doc: Add missing docs and example for stage-instance
* doc: Add final log for deleted stage instance
* refactor: Prevent trailing slash on stage instance endpoint
* chore: Harmonize params structure
* Update structs.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* docs: Remove deprecated doc
* docs: Add new documentation for restapi function
* Update structs.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Update structs.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Update restapi.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Update structs.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Update structs.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* doc: Add sleep in example to let user see by themselves
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Create payload for Guild Member Edit
* Update rest API usage with new payload
* Update comment with ref to discord API
* Change data to pointer instead
* Change struct to just nick and roles
* Review comments
* feat(rest#GuildMemberEditComplex): return updated member and cosmetic changes
* feat(structs): renamed GuildMemberEditData to GuildMemberParams
* style(structs#GuildMemberParams): fix spacing
* fix(rest#GuildMemberEditComplex): use GuildMemberParams instead of GuildMemberEditData
Co-authored-by: nitroflap <fe.lap.prog@gmail.com>
* Added Guild Members Search Function
* Updated method name to be consistent with other endpoints
* Refactored and moved GuildMembersSearch method for consistency
* Add Guild Scheduled Events support
* Add missing Indents for Guild Scheduled Events
* fix: Do update from new schedules updates and repository updates
* doc: Add missing documentation on const
* doc: Add missing documentation on events struct
* tests: Add a Skip condition when dgBot is not set to prevent segfault
* fix: Somes changes following the last review steps
* docs: Add an example to manipulate GuildScheduledEvent
* clean: Remove useless pointers on struct used to retrieve data
* tests: Test extra query params on GuildScheduledEventUsers requests
* clean: Remove unused variables
* feat: Add nullable types to provide null value to Discord API when is necessary
* feat: Use NullableString in ScheduledEvents
* docs: Add example for usage of NullableString
* Update structs.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Update restapi.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* fix: Review changes to move back nullable string into a simple MarshalJSON
* fix: Remove NullString on tests and examples
* doc: Add missing doc
* Update structs.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* fix: misunderstood MarhsalJSON
* fix: Follow the convention of discordgo on url.Values
* Update examples/scheduled_events/main.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* changes: use conditional instead on Sprintf
* fix: Add missing status on Params
* Update structs.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Update structs.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* changes: Move flag.Parse inside the init function
* fix: remove null statement of test suite
* fix: Rewrite Marshal of GuildScheduledEventParams to prevent a stack overflow on marshall same type
* clean: Remove unused Intents
* Update restapi.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Update restapi.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Update restapi.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* doc: polish the documentation
* clean: Final polish code
* doc: Add information about 1:1 usage
* Update discord_test.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* doc: remove unnecessary additional infos
* Update structs.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Update discord_test.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Update restapi.go
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* chore(examples/scheduled_events): removed NullString comment
* fix(structs): grammar in comment to EntityType
* fix: run gofmt
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* Add guild member avatar
* add avatar field on Member struct
* add endpoints for guild avatars
* add avatarURL util function for *User.AvatarURL and *Member.AvatarURL
* set GuildID on after GuildMember request
* fix Member.Avatar comment
* fix: gofmt
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
* feat(endpoints): bumped discord version to 9
* feat: threads barebones
* feat(threads): documentation
* feat(threads): membership caching
* feat(threads): added type to StartThread method
* fix: replaced missing Timestamp definitions with time.Time
* chore: removed debug logs
* chore: removed thread alias for channel type
* feat(webhooks): separated thread option into method
* fix(state): ThreadMembersUpdate member duplication bug
* fix: golint
* feat(threads): pr fixes and BeforeUpdate in ThreadUpdate
* feat: removed unnecessary todo
* feat(state): removed thread last message update in MessageAdd
* Revert "feat(state): removed thread last message update in MessageAdd"
This reverts commit 4ca359fd2cc304e5d0ec2937e25c0c487a1f2096.
* feat(state): update only last message id for thread update
Implements updating message id in MESSAGE_CREATE and MESSAGE_DELETE events. Refer to https://discord.com/developers/docs/topics/gateway#thread-update for more info.
* fix(restapi): passing threadID in WebhookThreadExecute
* feat(state): dropped last_message_id updates for threads
* fix: gofmt
* feat(events#ThreadCreate): added newly_created field
* feat(restapi)!: corrected names of thread functions
* Create edit application command permissions endpoint
* Add remaining command permissions endpoints
* Clean up naming a bit
* Add docs for application command permissions endpoints
* Update comments
* More comments
* :^)
* Put the verb in API method names at the end
* Review feedback
* Add default permissions
* feat(restapi): rewording of comments to application command permissions endpoints
* fix(rest): errors for application commands permissions endpoints
* style(interactions): changed order of fields in ApplicationCommand
Co-authored-by: NotUnlikeTheWaves <hleistra@gmail.com>
Co-authored-by: nitroflap <fe.lap.prog@gmail.com>
* 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>
* 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
* add session.ApplicationCommandBulkOverwrite
* change ApplicationCommandBulkOverwrite to take a guildID
* formatting
* add omitempty to ID of ApplicationCommand
* 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>
Endpoint support added:
- @/channels/:id/messages/:id/crosspost - publishes a message in a news
channel to followers
- @/channels/:id/followers - follows a news channel