Skip to content

v10.1

Latest
Compare
Choose a tag to compare
@switchupcb switchupcb released this 08 Jul 18:36
· 1 commit to v10 since this release

Create a Discord Bot in Go

Disgo is a Discord API Wrapper designed to be flexible, performant, secure, and thread-safe. Disgo aims to provide every feature in the Discord API along with optional rate limiting, structured logging, shard management, and caching. Use the only Go module to provide a 100% one-to-one implementation of the Discord API.

In addition, Disgo provides the following exclusive features.

The API of Disgo is struct-based. This means that you do NOT need to learn which functions invoke specific functionality on Discord. Instead, knowledge of Go and the Discord API is enough to use the entire library.

Feature Completion

Go is lacking an issue-free feature complete Discord API Wrapper: Disgo will be the first library to complete this task with the help of Dasgo.

  • Disgo currently implements 181 out of 181 endpoints.
    • Disgo currently supports — through tests or examples — 75 out of 181 endpoints.
    • Disgo aims to support 67 endpoints through tests (112% reached).
  • All unsupported endpoints are usable.
  • All Discord Gateway events are implemented and connecting to the Gateway is tested.

v1.10.10

This version has introduced a drop-in Shard Manager.

You don't even have to create for-loops that loop through every session to send events. Check it out!


Disgo is currently missing the following features.

  • Interactions via Outgoing Webhook
  • Voice Connections
  • Cache Manager

Interested in contributing? Read the roadmap.

Roadmap

Disgo v1.10.1 is a stable version.

Implementing working voice connections and a cache manager is the focus of the next release.

The definition of "stable" in this context refers to the ability to use the API Wrapper while experiencing a minimal amount of issues. Disgo will not use Backwards Compatibility as an excuse to prevent necessary improvements. Backwards compatibility must be a function of a previous design's quality. In addition, Go's package manager provides hashed versioning such that backwards compatibility should not be an issue.