- General Inquiries
- What is this server?
- Is this an official Discord server?
- What is the Discord API?
- What is the Discord SDK?
- What is an OAuth application?
- What is a Discord bot?
- What is an API wrapper/library?
- Are "selfbots" or "userbots" allowed?
- Help and Support
- Where can I find support for the Discord API?
- Where can I find support for the Discord SDK?
- Where can I find support for a specific Discord library (e.g. discord.js, discord.py, discord.net)?
- Can you help me with my banned account / reporting a user / client bugs / other issues?
- How do I make a Discord bot?
- How do I add a Discord bot to my server?
- More About This Server
- Can I write my own wrapper/library?
- Can I get a channel for my own library here?
- What roles does this server have?
This is the Discord API server (guild). We focus on the technical side of the Discord API; the interfaces, code, and tools used to interact with Discord's servers (back-end devices). Generally, this includes developing Discord bots and web applications and the wrappers or libraries that facilitate this. You may also find general programming discussions or casual discussions unrelated to the API, but those are not necessarily our main focus. Please make sure you are familiar with our #rules before participating.
No. You may find Discord staff lurking here or you may get directed here by them, but Discord API is not an official server. While we do make every attempt to maintain a high standard of integrity and accuracy, there is no guarantee that what goes on here is officially approved by Discord. Similarly, all interpretations of any legal and non-legal documentation provided here are not official.
The Discord Application Programming Interface allows users to communicate and interact with Discord. Both the official Discord client(s) and user-created applications use the same API, but in different ways.
The Discord Software Development Kit allows game developers to integrate Discord services into their games and other applications.
Discord allows users to register applications in association with their regular account. These applications can be used to automate certain actions that would be tedious to do manually. For example, a developer may want to allow users to access their website using their Discord accounts. OAuth provides a secure way of doing this.
A bot is a special type of automated user account that has its own set of privileges and restrictions. Bots are displayed with a BOT tag in the Discord client, and can only be managed over the API. A bot is always associated with an OAuth application, and is invited to servers using OAuth2 authorization flow. Regular users cannot currently be converted into bot users and vice versa.
Several members of the Discord community have written and may currently maintain software libraries that serve as wrappers for the Discord API. These libraries facilitate interaction with the Discord API by providing user-friendly interfaces in your favorite programming languages. This server hosts a collection of libraries that are considered fully-featured and well-suited for public use. You can find more information about this in the #info channel.
Automating user accounts as "selfbots", "userbots", or any applications outside of the OAuth API is forbidden by Discord. Be smart and use a proper bot account.
The best place to start is the official documentation and its reference page. If you have questions about the documentation or about direct use of the Discord API, or if you would like to contribute to the documentation, you can visit the GitHub page or our #api channel. Please remember that off-topic discussion is strictly forbidden in these places.
We are generally not equipped to help people with SDK issues. For this, we recommend that you either visit the official support server, read the SDK docs, visit the developer support page, or send a support request to Discord.
You can find links to every Discord library that we support here in our #info channel. Please do not look for library support in places that are not outlined here.
We cannot provide support for Discord outside of the Discord API. Discord has their own official places for these things:
- For general information, visit the support page at https://support.discordapp.com/hc/en-us
- To contact Discord, submit a request at https://support.discordapp.com/hc/en-us/requests/new
- If you need to report an official client bug, visit https://discord.gg/discord-testers
- If you want to submit or browse feedback, visit https://support.discordapp.com/hc/en-us/community/topics
Since code is required to run a bot, we very strongly recommend that you have some programming experience before making your own. Note that code is executed and a bot is the product of that code; a bot is not something into which code is loaded, and a bot will not automatically do anything unless you program it accordingly. With some programming knowledge, the first step to developing a bot is to create a new application at https://discordapp.com/developers/applications/me. You should then read the documentation regarding the Discord API on the same site. Following that, you may want to pick a community-supported API library in a programming language of your choice. Each library will have its own set of documentation and instructions for developing applications, which you should read and follow before writing your bot code.
Bots are added to a server with an OAuth2 URL https://discordapp.com/api/oauth2/authorize?client_id=CLIENTID&scope=bot&permissions=0 where CLIENTID is replaced by your (or someone else's) bot's Client ID. To generate this link, go to your application page, open an application, and go to the OAuth2 page.
There is at least one Discord API library already written for most popular, modern programming languages. We recommend that you use these pre-existing libraries, and contribute to them if possible. If you find that these libraries are not sufficient, feel free to write your own, especially if one does not exist for the language that you want to use.
You must have a complete library before we can consider including it here. For a detailed explanation regarding what we consider good enough for consideration, please read https://gist.github.com/meew0/bbbbd5348967dee5f7e84c0cd58983fd.
The main roles here are Admin, Mods, Library Devs, Contributors and Proficient:
- Admin: Users who are responsible for general maintenance of the server and decision making.
- Mods: Users who are responsible for making sure everyone is doing what they should be doing, in the right places.
- Library Devs: Authors and maintainers of our community-supported API libraries.
- Contributors: Major contributors to our community-supported API libraries.
- Proficient: Minor contributors to our community-supported API libraries.
The maintainer of discordia LUA is really nice and supportive! +1