LoL Slackbot

LoL Slackbot is a Slack integration supporting a small group of friends playing League of Legends together. The bot's primary job is to facilitate our knowing about each other's play activity. The bot has been running for about half a year on a developer key for a group of six players. I plan to develop more capabilities in anticipation of Riot's planned social features in 2016. With some luck this may grow into a tool Clubs can use to enhance their group experience.

Status today

Slack is a groupware communication app, a bit like an IRC channel or an IM chatroom. My LoL bot runs in the Slack that a group of friends use to coordinate their play and reports on the games we have played. I built it because I wanted the game to be more social, to see when my friends were playing and how their games were going. It's been quite effective. I often will see someone just finish a game and decide to log into LoL to join the next game. We also enjoy discussing games after they happen; the bot's display and link to Match History gives us an opt-in shared view of each other's play history.

screenshot

The screenshot above is the entire output of the Slack bot. One message per game containing summary stats such as group members' KDAs. Data is collected via the Riot API, largely using the /match API endpoint. The messages in the Slack channel are minimal notifications. Players are encouraged to click on the Match History link if they want to know more.

There is no user input other than the player opting-in to the reporting by providing a summoner name. (Manually; only six users right now.)

Plans

My immediate plan is to add features to the existing Slack bot. At the moment I am adding polling of the current-game API so that the bot can report on when people start a game, not just when a game is finished. I intend to hook this up to a Slack slash command so the bot can answer a typed Slack query like /playing with info on who is playing at the moment. I am also interested in getting more match data to help players understand their in-game performance.

My broader plan is to make this service available to people other than my small group of friends. I imagine groups of 5–100 people each running an instance of Slackbot for themselves. I have no commercial ambitions nor desire to start a major new consumer website. I may simply open source the code for other people to use. But my hope is that Riot's planned social features will create demand for more group-oriented tools. My bot could then be adapted to support whatever social tools arise whether that be Slacks, Club websites, or mobile apps.

As a first public project, I am working with Learning Fives to integrate my SlackBot with their public coaching program. They have been running quarterly events for the the last year where players sign up to be matched with ranked 5s teams and coaches. They already coordinate via Slack making my bot a perfect way to help everyone keep track of the games people are playing. The large player population of Learning Fives will require higher API quota than a developer key, although well within the standard 180,000 requests / 10 minute limits of a production key.

Copyright © 2016 Daedalus Bits, LLC
Nelson Minar <nelson@monkey.org>

LoL Slackbot isn’t endorsed by Riot Games and doesn’t reflect the views or opinions of Riot Games or anyone officially involved in producing or managing League of Legends. League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc. League of Legends © Riot Games, Inc.