-
-
Champ Bot interacting in a Discord server.
-
Champ Bot handling the "--help" command.
-
Champ Bot handling the "--mrg [username]" command.
-
Champ Bot handling the "--cm [username] [champion_name]" command.
-
Champ Bot handling the "--summoner [spell_name]" command.
-
Champ Bot handling the "--blurb [champion_name]" command.
-
Champ Bot handling the "--title [champion_name]" command.
-
Champ Bot handling the "--image [champion_name]" command.
-
Champ Bot handling the "--quotes [on/off/status]" commands.
Inspiration
We're big League of Legends fans, so we thought what better project to create than a League of Legends Discord bot? We built the bot to access some of our favorite game stats, champion quotes, and more into the bot for quick and easy access while chatting with friends on a Discord Server.
What it does
This Discord bot is designed to enhance one's League of Legends experience while chatting on a Discord server. This bot can retrieve information on a user, info on summoner spells, blurbs about specific champions, and titles of specific champions. But perhaps most fun of all, any time a champion's name is mentioned in any message, one of the champion's quotes will be displayed. Below is a complete list of the different content the bot can display based on the given command.
champion is mentioned - a quote from that champion is displayed
"--mrg [username]" - retrieves information on the specified player's most recent match
"--cm [username] [champion_name]" - retrieves the specified player's mastery of the specified champion
"--summoner [spell_name]" - retrieves official information on a summoner spell
"--blurb [champion_name]" - retrieves the official blurb of the specified champion
"--title [champion_name]" - retrieves the official title of the specified champion
"--image [champion_name]" - retrieves an official image of the specified champion
"--quotes on" - enables a champion's quote to be sent when a champion's name is sent
"--quotes off" - disables a champion's quote from being sent when the champion is mentioned in a message
"--quotes status" - determines whether quotes being sent when a champion is mentioned is enabled or disabled
"--help" - gets a list of commands Champ Bot can handle
How we built it
We used Python to write the code to make Champ Bot function. We also accessed Riot Games API in order to retrieve League of Legends information. We used GitHub as our Version Control System for this project.
Challenges we ran into
We initially struggled to understand what the Riot Games API was returning so that we could use the data. With the effort of the team, we did overcome this issue and accessed even more data than originally planned. Additionally, one member of our team had never used Python before, so there was a bit of a learning curve, but given its similarity to Java, it wasn't an issue.
Accomplishments that we're proud of
Firstly, this was the first Discord bot that anyone on our team had created and the first time one member used Python, so we're very proud of ourselves for not only accomplishing our plans but going beyond. Additionally, we're proud that we figured out how to access the data from the Riot Games API. From this data, we were able to trace it down to specific player data, allowing us to include individual users' statistics in the bot.
What we learned
As mentioned in previous sections, this was the first time one member of our team had used Python. Using Python for this project allowed this individual to learn the basics of a new language. Additionally, everyone in our team has had little experience with APIs, so we certainly learned how to make better use of APIs and the data they return. Perhaps our biggest gain, though, was the fact that none of us have ever created a Discord bot. We learned how to run Python code in a Discord server that will interact with messages sent on the server.
What's next for Champ Bot
We hope that League of Legends fans will find this bot beneficial and add it to their League of Legends Discord servers. We plan to deploy Champ Bot to Heroku so that we can continue to run it and make it available for others to use. Additionally, we'd love to add more commands based on the data we can access from the API. For example, we'd love to come up with a way to link a player's full match history, display more information about the different champions, add some more quotes that each champion could say at random, and more.
Log in or sign up for Devpost to join the conversation.