A Go package providing low-level bindings to the Discord API for building bots and integrations.
DiscordGo is a Go package that provides low-level bindings to the Discord chat client API. It offers nearly complete support for all Discord API endpoints, the websocket interface, and the voice interface, enabling developers to create robust Discord bots and integrations in Go.
Go developers building Discord bots, integrations, or applications that require direct interaction with Discord's API, including real-time events and voice functionality.
Developers choose DiscordGo for its comprehensive, low-level mapping to the Discord API, providing fine-grained control and stability, backed by an active community and extensive feature coverage.
(Golang) Go bindings for Discord
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Covers nearly all Discord REST, WebSocket, and voice endpoints, enabling full control over bot functionalities like managing servers, channels, and real-time events.
Provides a direct, low-level mapping to Discord's API, allowing developers to implement custom logic without abstraction layers, as highlighted in the philosophy.
Supported by contributors and an official test bot (dgo) for development assistance, with a Discord Gophers server for real-time help and discussion.
Offers built-in support for voice channels and audio streaming, with helper packages like dgvoice available for enhanced features, though setup requires extra steps.
The library and Discord API are unfinished, leading to potential major changes that could break existing code, as noted in the README's documentation section.
Currently relies solely on Go reference documentation, with hand-crafted docs 'coming eventually,' making onboarding harder for those needing tutorials.
Voice features require additional packages like dgvoice and dca, which are experimental and add configuration overhead, rather than being integrated out-of-the-box.