Skip to content

nauqh/porobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Porobot - League of Legends Discord Bot

Version Replit

Python Discord Riot Games

Update (12 July 2023): Invite Porobot to your discord server at Porobot

About the project

Poro

Porobot is a compact system for gathering and organizing game statistics data from Riot API.

In short, it allows you to:

  • Retrieve player statistics such as match history, ranked information, or even custom data of your choice.
  • Store the data in a scalable database using technologies like PostgreSQL and SQLAlchemy.
  • Utilize various tools to model and analyze the behavioral data.
  • Generate reports and deploy an online dashboard for convenient management.

Features

Techstack

The repository structure follows the conceptual architecture of Porobot, which consists of four loosely-coupled sub-systems.

To briefly explain these four sub-systems:

  • Extractor employs Pydantic to validate the integrity and quality of the extracted Riot data through customizable data quality checks and adherence to expected schema and format.
  • Storage relies on SQLite as a robust and feature-rich database system for persistent storage of Riot and Discord data, while leveraging SQLAlchemy as the ORM tool for simplified interaction with the database.
  • Analytics employs Plotly for creating interactive and visually appealing data visualizations, Pandas for data transformation and analysis, and Discord for deploying intuitive and user-friendly dashboards to explore and analyze Riot data.
  • Application utilizes Hikari as the library for building a Discord bot, providing a powerful and efficient framework for interacting with the Discord API and creating engaging and interactive experiences for users.

Instalation

Local hosting of Porobot is also possible

Create a .env file to store the application authentication token and guild ids

BOT_TOKEN = BOT_TOKEN
GUILD = DISCORD_SERVER_ID
STDOUT_CHANNEL_ID = OUTPUT_CHANEL_ID
VOICE_CHANNEL_ID = VOICE_CHANNEL_ID
RIOT_TOKEN = RIOT_TOKEN

Install dependencies:

$ pip install -r requirements.txt

Start the bot

$ python -m bot

Documentation

Since Porobot is built on the basis of Hikari library, it is essential to look for the library documentation for further implementation.

Contributors