What It Does
FizzBot is a multifunction discord bot that aims to improve the League of Legends experience for players through a multitude of commands. An example of Fizzbot's functionality is improved counter picking, while many online counter picking algorithms go solely of historical matchups without regard for player's skill on the champion in question. Fizzbot takes into account the player skill of the champion to determine whether the counter pick is viable. Furthermore, Fizzbot improves team selection, as entering a player's name will yield a list in decreasing order of mastery and time spent on a given champion, this allows teams to get information about certain champ types a player plays and if that player would be a good fit for the team.
How We Built It
We used a combination of python and java to create this bot. Python was used primarily for the front end (ie. using the discord module to create a discord bot) and for web scrapping applications using the requests module to get page content and the BeautifulSoup module to parse the data and pull out important information from the "soup." Furthermore, we used Java in backend applications where Python would have been too slow for example our database for discord name and league name pairs.
Challenges We Ran Into
At one point, web scraping images became a significant challenge due to space and time complexity as well as the scraping itself. However, our team overcame this difficulty by breaking down the problem one step at a time and reading documentation to fix our code. Another problem we faced was the I/O interface with our java code and we fixed this with a simple text file.
What We Learned
Throughout the course of this project, we learned about efficient web scraping and web scraping regarding images. Moreover, we learned the challenges of coding a discord bot and keeping that bot running 24/7 using flask. Finally, we learned about meshing two programming languages together to improve the final result.