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

7eb2c9d ยท Jun 4, 2021

History

46 Commits
Apr 28, 2021
May 10, 2021
Apr 3, 2021
Jun 4, 2021
May 11, 2021
Apr 23, 2021
May 11, 2021
Apr 4, 2021
May 11, 2021
Apr 23, 2021
Apr 4, 2021

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