https://github.com/connected-web/gamebot
A slackbot for board games and games channels. Responds to gameplay related chatter.
https://github.com/connected-web/gamebot
Last synced: 4 months ago
JSON representation
A slackbot for board games and games channels. Responds to gameplay related chatter.
- Host: GitHub
- URL: https://github.com/connected-web/gamebot
- Owner: connected-web
- Created: 2016-07-21T13:30:14.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T20:52:11.000Z (over 3 years ago)
- Last Synced: 2024-12-06T21:32:13.409Z (over 1 year ago)
- Language: JavaScript
- Size: 959 KB
- Stars: 2
- Watchers: 6
- Forks: 0
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gamebot
A slackbot for board games and games channels. Responds to gameplay related chatter.
## Features
- Basic understanding of users and channels
- Private and non-private messaging
- Modular structure for adding new responses
- Accusation module for making baseless accusations
- Howl module for occasional howling
- Resistance module for playing group games of Resistance
- Codenames module for playing group games of Codenames
- Loveletter module for playing group games of Loveletter
## Development
- Checkout the code
- Install dependencies
- `npm i`
- Test it
- `npm test`
- Create a [slack bot to gain an access token](https://my.slack.com/services/new/bot)
- Each bot is configured in `tokens.json`, to keep your tokens private, set environment variables:
```
export RESISTANCEBOT_TOKEN='abcd-1234-...'
export SPYMASTERBOT_TOKEN='abcd-1234-...'
export PRINCESSBOT_TOKEN='abcd-1234-...'
export WOLFBOT_TOKEN='abcd-1234-...'
```
- Run it
- `npm start`
For best results, you should also import custom emojis, please follow this guide: [emojis/README.md](./emojis/README.md)
## Hosting
Gamebot is currently hosted on a private Raspberry Pi.
## Releasing
A jenkins job has been created to build the gamebot files into a zip, transfer them to the remote server, and then install as a `systemctl` service. For a fresh install, in order to pick up the secret tokens, you will need to manually create `gamebot.env` using `gamebot.env.example` as a template.
Changes to master will automatically be deployed to the development machine.
When ready to release to live, provide either a tag name or branch identifier to release from, and target the production machine.