* feat(events)!: drop undocumented structs and fields
* feat(structs)!: drop undocumented structs and fields
* fix(eventhandlers): regenerate event handling code
* fix(Ready): add PrivateChannels back
* feat: auto moderation
* feat(examples/automod): add message content intent
* style(examples/automod): newline between sections
* feat(AutoModerationActionExecution): add user id
Add user_id field to AutoModerationActionExecution event.
* refactor(events): remove todos
Remove TODO comments for AutoModerationRuleUpdate and AutoModerationRuleDelete.
* feat(AutoModerationEventMessageSend): doc comment
Add documentation comment to AutoModerationEventMessageSend constant.
* fix(structs.go): fix GuildTemplate struct and documentation
* revert(structs.go): change description from a string ptr to a string
* fix(structs.go): make name and description a pointer and omitempty
* fix(structs.go): made Name field not a string pointer. removed extra files
* fix(structs.go): fix Name field not having a type
* 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>
* 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
* update Activity struct and add emoji functions
* fix the emoji regex
* Remove inline type definitions
* Change function name
* fix message_test function name
* make custom unmarshaljson and change `CreatedAt` to `time.Time`
* fix
Co-authored-by: post <61803796+postrequest69@users.noreply.github.com>
We define our permissions constants based on Discord's values,
and thus the use of `iota` is fragile, makes docs harder to read,
and makes changes touching these constants harder to review.
Here, we now use the full 64-bit representation of each constant,
which both removes the implicit ordering dependencies and makes
the values easier to immediately see.
* 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>
* Update to API
Updates the golang stuct to current api documentation and adds new util
* Revert of change.
* Update message.go
* Update structs.go
* Yikes this my hand hurts.
* Consistency
* Update message.go
This resolves#547.
Adds a "LastPinTimestamp" field to the Channel structure, which reflects
the `last_pin_timestamp` field on the Discord API. This field is
indicative of whether or not the channel has any pinned messages, and
can save an API request from being sent if there are none.
FWIW, The API doesn't seem to return a 404 anymore when there are no
pinned messages; it returns a 200 with `[]`.