Inspired by Pokémon Go, now you can catch and battle Pokémon with your teammates on Slack!
This program is very much a WORK IN PROGRESS, and should be considered very ALPHA. If you have any questions you're welcome to log an issue, but please be aware that code may be messy/incomplete, and some things may not work. In addition, not all mechanics are implemented yet. We're getting there!
Full Heroku deployment instructions
Scroll down for more setup options
Setup of Slackémon is not quick. This may be worked on further in the future. For now, there are quite a few steps!
git clone https://github.com/tdmalone/slackemon.git
composer install
. If you don't have Composer, get it here first. If you're not going to be developing Slackémon, you can speed up the install of depdendencies by instead running composer install --no-dev
.composer require tdmalone/slackemon
/slackemon
. Set the Request URL to the same URL you used above./slacke....
. Something like 'Catch Pokémon and battle your teammates!' usually works well.https://YOUR-DOMAIN.slack.com/apps/manage
before you can add Slackémon - or alternatively, upgrade to a paid Slack plan..env.example
to .env
(development mode only - see instructions in the file), or setting the variables within your environment (recommended). Either way, see .env.example
for instructions on the variables to set.crontab -e
on a Linux machine, or find the Cron option in your hosting control panel), set up cron.php
to run every minute, sending through the cron token you created earlier.
php /path/to/cron.php --token=XXXXXXXXXXXXXXXXXXXX
http://example.com/slackemon/cron.php?token=XXXXXXXXXXXXXXXXXXXX
npm install -g emojipacks
at a command line (if you don't have Node.js/NPM installed, do that first)emojipacks -y https://github.com/tdmalone/slackemon/blob/master/etc/emojipack.yml
YOUR-SUBDOMAIN.slack.com
- leave out the slack.com
part when entering it) as well as your username and password for Slack (neither Slackémon nor emojipacks will have access to your login details; it is simply required because Slack doesn't yet have an API endpoint for uploading emoji)SLACKEMON_ENABLE_CUSTOM_EMOJI
to false
in your environment variables.Well done, it's time to start playing! You should now be able to run /slackemon
anywhere in your Slack team to start the quick user onboarding process 👍
Future enhancement ideas are progressively being added to the Projects section.
You can generally track what we're working on at moment through the Milestones.
A user guide will progressively be written at this repo's wiki.
Slackémon was first and foremost inspired by Pokémon Go. It borrows a few mechanics from Pokémon Go (mainly for simplicity), but as time goes on the aim is to be more true to the original Pokémon games wherever possible.
The idea of doing this on Slack came from Robert Vinluan's bot for having Pokemon battles in Slack. Inspiration and some battle move data has also been gleaned from Pokémon Showdown.
Thank you to those who have done the hard yards in bringing together Pokémon sprites, particularly PokeCSS.
Thank you to my co-worker Julian, who has been my main playmate in testing (and competing with!) this on our company Slack organisation at Chromatix, and to Alessandro Pezzè for being the first 'stranger contributor' to jump on board the project :). You can see the full list of contributors in CONTRIBUTORS.md
.
Thanks to Slack for maintaining a well-documented, open API and inviting collaboration on their platform.
Last but not least, this project would never have happened without the extensive work undertaken by Paul Hallet at Pokéapi. Working on Slackémon has been fun rather than painful, thanks to the rich collection of readibly accessible data that Paul and his team have collected and structured. Thank you!
Slackémon - Catch and battle Pokémon with your teammates on Slack
Copyright (C) 2016-2017, Tim Malone and contributors.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.