Skip to content

🎮 LoL Champ Selector is a chat bot about the world's most famous eSport game. The objective is to help users find new champions to play with, based on the preferred difficulty. Back-end respository: https://github.com/JiahuiChen99/LoLChampSelector

Notifications You must be signed in to change notification settings

JiahuiChen99/LoLChampSelector-Electron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ Targeted to students of my university - La Salle URL: Refrain from copying this repository!

🎮 League of Legends Champion Selector

LoL Champ Selector is a chat bot about the world's most famous eSport game. The baseline is to help summoner(users) find a new champion to play with, based on the preferred difficulty. It also features like champions' description storytelling, items recommendations and much more, give it a try!

Architecture

This client is build using NodeJS & Electron :electron: framework.

It uses gRPC protocol to communicate with the server. The underlying data sent to the back-end are Google's Protocol Buffers.

Structure for sending users' messages to the server. It is also used for champions' abilities retrieval.

// Simple message
message Message {

    string message = 1;

}

Fetch champions' abilities

// Request a champion's ability
message championAbilityRequest {

    string champion = 1;
    string ability = 2;

}

Response from the server with the champion.

// Chatbot response
message chatbotResponse {

    string message = 1;
    string champion = 2;

}

Currently only 2 rpc are implemented

Sends the user message, awaits chatbot's response

rpc send_message(Message) returns (chatbotResponse);

Fetches champion' abilities, the champion name and the ability are required.

rpc getChampionAbility(championAbilityRequest) returns (Message);

Supported tokens

  • Champion recommendation based on Difficulty
  • Champion recommendation based on Roles
  • Items for Roles
  • Champion Description Storytelling
  • Greetings
  • Bye
  • Thanking

Get it running

Run npm install to install all dependencies.

⚠️ IMPORTANT: Please run the following. The communication with the server won't work if it's not performed.

electron-rebuild to download core gRPC code and rebuild the library, due to Electron's nature. For more information refer to this site.

TODO ✔️

Front-end

  • Chat Interface
  • Champion Information Section
  • gRPC calls
  • Improve UI

Back-end

  • gRPC services
  • NLP (Natural Language Processing)
  • Chat bot Memory
  • More organic conversation

About

🎮 LoL Champ Selector is a chat bot about the world's most famous eSport game. The objective is to help users find new champions to play with, based on the preferred difficulty. Back-end respository: https://github.com/JiahuiChen99/LoLChampSelector

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published