werewolf-slack
![werewolf-slack on Stackage Nightly](https://www.stackage.org/package/werewolf-slack/badge/nightly)
A chat interface for playing werewolf in
Slack.
Werewolf is a well known social party game, commonly also called Mafia.
See the Wikipedia article for a rundown on its
gameplay and history.
![Werewolf for Slack](https://raw.githubusercontent.com/hjwylde/werewolf-slack/master/.readme/werewolf-for-slack.png)
Game description
Long has the woods been home to wild creatures, both kind and cruel.
Most have faces and are known to the inhabitants of Fougères in Brittany, France; but no-one from
the village has yet to lay eyes on the merciless Werewolf.
Each night Werewolves attack the village and devour the innocent.
For centuries no-one knew how to fight this scourge, however recently a theory has taken ahold that
mayhaps the Werewolves walk among the Villagers themselves…
Objective of the game:
For the Loners: complete their own objective.
For the Villagers: lynch all of the Werewolves.
For the Werewolves: devour all of the Villagers.
Setup
Preparing Slack
Set up an Incoming Webhook here.
Make note of the webhook url, we’ll be using that soon.
Set up a Slash Command (/werewolf
or similar)
here.
The Slash Command should perform a GET request to the server werewolf-slack is going to be hosted
on.
Make note of the token here too.
Installing
Installing werewolf-slack is easiest done using either
Docker (recommended),
stack or
Cabal.
Using Docker:
docker pull hjwylde/werewolf-slack-docker
Using stack:
stack install werewolf-slack werewolf
export PATH=$PATH:~/.local/bin
Using Cabal:
cabal-install werewolf-slack werewolf
export PATH=$PATH:~/.cabal/bin
Running
werewolf-slack is a simple web server that listens for events from the Slack Slash Command.
After receiving an event werewolf-slack forwards it on to the werewolf game engine and uses the
Incoming Webhook to send back the response.
Running werewolf-slack is easiest done using either
Docker (recommended) or
the binary itself.
Make sure to add rules to your firewall for werewolf-slack’s port.
With Docker:
docker run -d -p 80:80 hjwylde/werewolf-slack-docker -v TOKEN -u WEBHOOK_URL
With werewolf-slack:
werewolf-slack -v TOKEN -u WEBHOOK_URL &
Configuration
It is possible to also configure the port that werewolf-slack listens on. This is done via the
--port
(-p
) option.
The default port is 80.
Usage
Type /werewolf help
in your Slack channel to get going!