Giter Site home page Giter Site logo

statbot's Introduction

StatBot

A chat bot and web tools for League of Legends

Live

  • NA - StatBot
  • OCE - StatBot
  • EUW - StatPal
  • LAS - StatBot

Purpose

The purpose of this project is to demonstrate how I work as well as build a useful tool for the community. It will be developed entirely in the open. Check the wiki for writeups describing the process, use the issue tracker to ask questions or report bugs, use pull requests to suggest fixes or add features.

What is it?

This project includes several components. Each component is documented further in its respective home.

LoLHubot

A hubot instance configured to connect to the Riot XMPP network. It also uses some custom scripts to enable other users on the XMPP network, LoL players, to send chat commands and get meaningful responses.

Built using:

  • Hubot
  • Hubot-xmpp
  • Coffeescript

WebApp

The codebase that serves the web interface. The web app provides a way to manage the settings that the chat interface uses. While the chat interface can configure these things, a web application provides a more useable interface.

The WebApp will work as a LoL xmpp client allowing visitors to log in to chat with their LoL friends without having the full game client open. [Need to check into the rules for being a chat client]

Everything served by the web app will be served via HTTPS.

The application is built using the following tools:

  • Meteor
  • CSS - LESS
  • HTML - jade?
  • Javascript - Ecmascript5
  • Bootstrap 3
  • XMPP

MobileApp

The codebase to build the mobile application. It provides basically the same functionality as WebApp.

StatBotAPI

An application that serves the network APIs used by all the user facing applications. It provides a common end point for processing commands. This lets the codebase remain DRY.

This serves HTTP and WS apis. The HTTP api is used to receive commands from clients like WebApp, MobileApp, and LoLHubot. The WS api is used to proxy XMPP connections and stream data.

Built using:

  • node - Ecmascript5
  • express.js
  • websockets

statbot's People

Contributors

jhgaylor avatar

Stargazers

Carlos Cuatin avatar Borja avatar Cory Darby avatar Kevin Lee avatar Scotty Vernon avatar Bryden Fogelman avatar Zachary Wills avatar  avatar  avatar

Watchers

James Cloos avatar  avatar  avatar  avatar Jesus Rodriguez avatar  avatar

Forkers

irategod rut0

statbot's Issues

add support for other regions

I should be able to add support for each new region just by starting a new lolhubot on a different LoL account. Will just require registering an account on each region.

persistant datastore to store "authorized" users

this would let anyone friend statbot but be required to be an authorized user to send messages other than help and about.

This would provide me a way to approve people slowly at the beginning (by updating the db) and then use it in reverse as a ban list once it is open to the world.

lolhubot: useful links

links - provides a set of useful links rather than going to each site and clicking to the champion desired.

LoLHubot: Test hear fns

It might be easiest to do this by stubbing out the robot and msg objects and testing them individually rather than booting the entire hubot

chat command response formatting

always send new messages rather than trying to mess with newlines. it'll make things better in game and works fine in the lobby.

api: rewrite

refactor the binding of commands to express routes.

pattern of /command/:name/: fn shouldn't be too hard.

Build Launch Page

After determining the tool to use. Since the marketing page isn't really part of the open source bit of this, I don't mind using a third party tool and just documenting what I do.

Feature Request: List all commands by themselves

Add ability to list all commands in one line, when I type help, I get full info and most commands scroll by.

Id like to be able to see this:

counter,rules,help,free,stats

Probably in alphabetic order.

This could be another command or at the end of help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.