What and why?
A discord bot has many functions; whether it be to moderate a server, to make it more enjoyable or to inflict permanent mental trauma on its users.
Discord itself allows any user to create their own bot application, giving them the chance to mess around with/on discord.
Although the allure of coding your own discord bot is understandably very strong, we suggest that you do not start with such a project when new to the language of your choice.
Work through the docs and make sure you're comfortable with syntax + common methods and best practices before embarking on your botting adventures!
Bot types by language
Officially Vetted Libraries
The following libraries have been officially vetted by the Discord team. This means that they conform to all Discord API standards regarding Discord ToS, authentication, and rate limiting. Using other implementations that abuse the Discord API or cause rate limits problems may result in a permanent ban from Discord.
If you have any interest in eventually bringing your bot into public servers or having it listed on a well known and reputable discord bot list, you would be well advised to make sure to follow the best practices document maintained by meew0 on github. Many of these rules are self explanatory, and are designed to make sure your bot is as unobtrusive and easy to use as possible. We strongly recommend at least giving this a read before starting development, as it may give you some starting ideas on what you might want to implement, even if you're building your bot for a private server.
- Discord - Developer Documentation https://discordapp.com/developers/docs/topics/community-resources