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 `[]`.
* Bump to v0.17.0
* Add members from GuildMembersChunk to state (#454)
* Revert "Add members from GuildMembersChunk to state (#454)" (#455)
This reverts commit e4487b30d4.
* added clarification when initializing discordgo
from the code I ran on my system with the latest changes this seems to be the syntax for the authentication tokens. I'm guessing it was just never updated.
Let me know if this is incorrect.
Thanks!
* travis: update go versions
* Add "Priority Speaker" permission constant
The permission "Priority Speaker" was missing as constant. Permission has been added as constant and to the "PermissionAllVoice" constant as well.
* Latency method
* fixed typo
* fixed linter error
* Renamed Latency to HeartbeatLatency
* HeartbeatLatency now returns time.Time
* return time.Duration instead, since .Sub() returns that
* Add full-stops to end of comments
* Added Mention() func for Channel
* Changed variable name
Adding the func in Github was so simple I didn't bother seeing if it'd compile, I shortly after realised my mistake.
* Added UserConnections function and structs
* Rename Connection to UserConnection
* Embed Integrations inside GuildIntegration and remove GuildIntegrationAccount
* Replaced GuildIntegration with Integration
* Added ability to change the online status
* Add structs for rick presence implementation
* Refractor and publicise UpdateStatusData
* Add UpdateStatusComplex for raw status data sending
* Case gameType to int, stopped it compiling
* Might want to gofmt.
Doesn't do it on save because Gogland removed it and their new thing I
can't make sense of.
* Revert "Added ability to change the online status"
This reverts commit 235cd15a8eebbec070cb95a5853295387bceae1c.
* Change gametypeto match
* Move RLock to UpdateStatusComplex
* 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
* Add heartbeat ACK response and error handling
- Error when sending a heartbeat now triggers a reconnection
- Op7 now triggers a reconnection
- Session now tracks the last heartbeat ACK that was recieved. If the
last ACK is more than FailedHeartbeatAcks*heartbeatinterval in the past,
this is treated as a dead connection and a reconnection is forced.
* Address @iopred comments