Discord has the best online community. At least, we like to think so, and this is our website, so our word is law, deal with it. Therefore it's a fact that our community is the best, and they make really awesome things that we want to share with developers to make their lives easier. From permissions calculators to embed visualizers to full libraries to interface with our API, there are so many great things that have come out of our community.
The Official Discord Developers server is a developer ran, but community driven, support hub. If you need help with developing something on Discord or want official updates from the developers, this is the place to be.
Discord does not maintain official SDKs. The following table is an inexhaustive list of third-party libraries that have valid rate limit implementations, are recently maintained, and have large communities of active bots.
Name | Language |
---|---|
Concord | C |
Discord.Net | C# |
DSharpPlus | C# |
D++ | C++ |
discljord | Clojure |
DiscordGo | Go |
Discord4J | Java |
Javacord | Java |
JDA | Java |
discord.js | JavaScript |
Eris | JavaScript |
Oceanic | JavaScript |
Discordia | Lua |
DiscordPHP | PHP |
discord.py | Python |
disnake | Python |
hikari | Python |
interactions.py | Python |
nextcord | Python |
pycord | Python |
discordrb | Ruby |
Serenity | Rust |
Interactions are the great, new way of making a Discord bot. The following open-source libraries provide help for the security and authentication checks that are mandatory if you are receiving Interactions via outgoing webhook. They also include some types for the Interactions data models.
- C#
- Clojure
- Dart
- Go
- Javascript
- Python
- PHP
- Other
warn The OpenAPI spec is currently in public preview and is subject to breaking changes
The public preview of the Discord HTTP API specification provides a standard OpenAPI 3.1 spec for the HTTP API.
Permissions in Discord are tricky. Luckily, we've got really smart people who love us and have made some great permissions calculators. If you're making a bot for others, and you're not sure how to properly calculate permissions or generate your authorization URL, these are great tools:
Gateway Intents are pretty confusing at first. If you're not sure what to send in your Identify payload, then these tools may be of help:
Webhooks and embeds might seem like black magic. That's because they are, but let us help you demystify them a bit. These tools can help you test how embeds will appear inside of Discord:
- JohnyTheCarrot's Embed Previewer (Browser Extension)
If you're working on a project that interacts with our API, you might find an API types module useful as it provides type inspection/completion for the Discord API.
Name | Language |
---|---|
dasgo | Go |
discord-api-types | JavaScript |
Discord Game SDK's lobby and networking layer shares similarities with other gaming platforms (i.e. Valve's Steamworks SDK). The following open source library provides developers a uniform interface for these shared features and can simplify developing for multiple platforms. Note: this library is tailored for Unity3D development.