Slack plays Pokémon: how we're playing Pokémon through chat at work

The Vox Media product team, the folks who develop our websites and back end tools, surprised us today by adding Pokémon support to Slack, the web-based group chat program we use to communicate.

Developer and design intern Robert Vinluan created a program for Slack that allows users to take a break with Pokémon battles. It works like this: type "pkmn battle me" into Slack, and a trainer will appear to battle you. Once it selects its Pokémon, it's your turn to pick by entering "pkmn I choose" and then the fighter of your choice. From there, it's pretty much your standard critter-filled duel.

Vinluan, a recent graduate from Parsons, designs and codes websites. In his spare time, he's created programs like @itsthisyear, a Twitter bot that retweets anyone talking about "all the things we should have or do or know by now." 

Speaking with Polygon, Vinluan explained that information for each combatant is pulled from Pokéapi, which links to a database "detailing everything about the Pokémon main game series." Over the course of two days at a company hackathon called VAX, Vinluan built a bot on Slack that listens for those key combat phrases and reacts accordingly.

This is what a Slack-based Pokémon battle looks like.


"At Vox we have bots for everything and a lot of custom Pokémon emoji," Vinluan said, "so [The Verge support manager] Chao Li and I got around to joking about 'What if you could actually battle with them', and so I decided to actually build it.

"The bot just picks a random Pokémon from the original 150, but you can choose any from all 6 generations to battle it with."

The system currently only supports moves that do damage; a Growl command, for example, won't do anything because it requires coding another engine from scratch. Specific creature types and accuracy calculations are still waiting to be added, and Vinluan hopes to eventually get the server to support two players, rather than one-on-one matches with a bot.

"One thing that I didn't quite get to implementing yet is the game's type system, because Pokéapi doesn't have that data," Vinluan said. "But I managed to scrape it from somewhere else, so it's there but it's not being used right now. It's the next thing to add on my list very soon."

As of right now the system only works for Vox Media Slack users (sorry, everyone), but Vinluan plans to make the code open-source for other Slack users to contribute to or remix. For more Pokémon, check out our opinion piece on putting together the perfect lineup or analysis on The Pokémon Company.

The Pokémon-athon:

719 Pokemon, 61 games, 1 website

Click here for undiluted nostalgia

More from Polygon

The horror of Five Nights at Freddy's

  • Dark Souls 2: Crown of the Old Iron King Overview

  • Spacecom: a fast 4X built for multiplayer

  • Pillars of Eternity builds on role-playing classics

  • Tour the 1 KB hard drive built inside Minecraft

Latest Discussions

Log In Sign Up

Log In Sign Up

Please choose a new Polygon username and password

As part of the new Polygon launch, prior users will need to choose a permanent username, along with a new password.

Your username will be used to login to Polygon going forward.

I already have a Vox Media account!

Verify Vox Media account

Please login to your Vox Media account. This account will be linked to your previously existing Eater account.

Please choose a new Polygon username and password

As part of the new Polygon launch, prior MT authors will need to choose a new username and password.

Your username will be used to login to Polygon going forward.

Forgot password?

We'll email you a reset link.

If you signed up using a 3rd party account like Facebook or Twitter, please login with it instead.

Forgot password?

Try another email?

Almost done,

By becoming a registered user, you are also agreeing to our Terms and confirming that you have read our Privacy Policy.



Choose an available username to complete sign up.

In order to provide our users with a better overall experience, we ask for more information from Facebook when using it to login so that we can learn more about our audience and provide you with the best possible experience. We do not store specific user data and the sharing of it is not required to login with Facebook.