Discord Libraries
This experiment will involve coding bots in multiple programming languages. The languages which I intend to write bots are Java, NodeJS, and Python. By writing the bots in different languages, I can analyze and compare their advantages and disadvantages.
In searching for languages to write the bots, C# was another language that seemed popular. Although C# is regarded by some as an easy-to-learn language, I am going to avoid C# for now due to a lack of experience. Discord has libraries to support languages such as RUST, Lua, C, C++, Go, and many more. You can view the full list and well as the documentation for general development here at https://discord.com/developers/docs/topics/community-resources. There is also more documentation for the specific discord libraries I will use.
Hosting
While the servers are hosted by discord, bots require a hosting solution such as a virtual private server (VPS) to function. Prior to release and in the beginning of development, the bots will be locally hosted. Essentially, the bots will only be interactable while I am developing them. Once the bots are suitable for public release, I shall find and discuss different hosting solutions. Anyone can view whether a bot is online or offline like any other user on the server by looking at the members tab. Before hosting a discord bot, you have to create an "Application" through discord's developer portal at https://discord.com/developers/applications. You can than use the developer portal to add the bot to your application. Once the bot is added to the application, you can use the provided bot token to manage the bot through your code.
The Army
After the 3 versions of Dovahzul are complete, I will develop a more complex bot which uses reactions. Reactions are emoticons that can be added to a specific message, much like how you can like a message on iMessage. The second bot, Pokémon Type RPS, locks 2 human users in an instance of a Rock-Paper-Scissors (RPS) game. Pokémon Type RPS plays exactly like RPS but uses "types" from the Pokémon video game series. Instead of using rock, paper, and scissors, Pokémon Type RPS will use the 16 types from Pokémon. The Pokémon type system is way more sophisticated than the traditional RPS and offers a fun challenge.
The last bot will be revealed at later time, however you can expect it to be different than the other two. Depending on development speed, I may have time to code fourth bot. By giving as many unique features as possible to the bots, I can better analyze which programming languages are better given a specific circumstance.


Writing a discord bot has been on my todo list for forever now, I probably still wont do it but this blog will let me live vicariously through it. Joined the discord server and I am looking forward to messing around with the bots while I procrastinate work - bw
ReplyDeleteAs someone who uses Discord often, it is cool to see how Discord bots use many clever tricks like using reaction emotes and editing messages not only to perform basic functions but to create a fun and interactive user experience. I look forward to seeing what kinds of neat things these bots can do.
ReplyDelete