Mee6 Leaderboard Graphs

I decided to work on a little project over the winter break. Visualizing the data of Discord servers using Python modules and the API of the Mee6 Discord bot. You can view the full code here.

Inspiration

I used Discord quite a bit over the winter break. With the number of servers members on Discord, I thought it would be interesting to visualize the top members of each server. So I set out to do so in Python.

The Goal

Users will input a server identifier to be read by the program, which will then retrieve information about the server's members and visualize them according to different metrics including the breakdown of levels and distribution of levels.

Process

I used multiple Python packages including matplotlib, numpy and requests. requests was used to retrieve the data from the Mee6 bot API and read them into the program, while numpy and matplotlib were used to plot the data.

I wrote the program by first splitting it into three sections. The first section of code is meant to read in user configuration, then the second section reads in server information from the API. Finally the third section generates the graphs using the data.

Challenges

The main challenge I ran into was the acquisition of server data, as native Discord requires you to be a member of the server to get it. Through the use of Mee6, a popular Discord bot used for server levelling, I was able to get the data. Mee6 displays leaderboard of the top server members on a generated website. By using the Mee6 API link, I was able to get to the json file containing the information for up to 999 server members.

Accomplishments

  • Used the requests package to retrieve information from API links
  • Created program that plots data for any number of server members under 1000

Takeaways

  • Better knowledge of Python packages like matplotlib, numpy and requests

Future Plans

I plan to find other interesting concepts and data to visualize.