bwmarrin/discordgo

(Golang) Go bindings for Discord

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 13 minutes ago
Added to GitGenius on September 11th, 2026
Created on November 1st, 2015
Open Issues & Pull Requests: 232 (+0)
GitHub issues: Enabled
Number of forks: 929
Total Stargazers: 5,985 (+0)
Total Subscribers: 54 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 16.7 days
Mean response time: 73.2 days
90th percentile: 204.8 days
Tracked items: 45

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed. Three people close 50% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 46
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 515 days
Stale 30+ days: 45
Stale 90+ days: 43

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • feedback (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

DiscordGo is a Go package that provides low-level bindings to the Discord API. The package implements nearly complete support for Discord API endpoints, the websocket interface, and voice functionality, allowing developers to build Discord bots and integrations in Go.

DiscordGo solves the problem of programmatically interacting with Discord by offering direct bindings to the Discord API. It handles the complexity of websocket connections, event callbacks, and voice streaming, allowing developers to construct a Discord client and register handlers for events without managing low-level protocol details themselves. The package is designed as a low-level direct mapping of the Discord API rather than a high-level abstraction.

Developers building Discord bots in Go should choose DiscordGo if they want a straightforward binding to Discord's API endpoints and events. The project suits applications that need reliable Discord integration with access to the full range of Discord functionality. The README notes that a feature comparison chart exists showing how DiscordGo relates to other Discord API libraries across different languages, though it does not detail specific comparisons. The project provides supplementary packages like dgVoice for additional voice helper functions and dca as an experimental tool for audio encoding.

The project maintains an active test bot in Discord servers to support development. Documentation is provided through Go reference pages generated from the codebase itself, with hand-crafted documentation noted as coming eventually. The README explicitly states that both the library and Discord API are unfinished, indicating that major changes may occur in the future. Examples and community projects using DiscordGo are tracked in a curated list, and the project maintains a troubleshooting wiki section for common issues.