Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anxhe/gordify
https://github.com/anxhe/gordify
Last synced: 26 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/anxhe/gordify
- Owner: anxhe
- Created: 2018-01-25T19:19:01.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-03-15T19:52:13.000Z (almost 4 years ago)
- Last Synced: 2024-10-15T19:29:04.712Z (2 months ago)
- Language: JavaScript
- Size: 136 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gordify
Gordify is a chat bot that helps you organize lunch-out plans for your slack team.
It has been built with howdy's botkit framework and is ready for you to use at the following URL: https://gordify.herokuapp.com.
# Bot interactions
Once you add the Gordify to any channel within your slack's workspace your team members can interact with it:
- When someone says `@gordify start`, the bot will prepare a lunch plan and will ask people out for lunch: `Ey! who is going to have lunch out today?`.
- When someone says `@gordify yo` and there's a lunch plan prepared, the bot will include the person in the plan and will reply with: `Pointed @ 😉`
- When someone says `@gordify stop`, and there's a lunch plan the bot will stop accepting people and it will organize them in groups (maximum group size is seven) and assign leader to each group, e.g.```
someone:
@gordify stop
gordify:
Group 1: @helen,@peter,@susan,@george
Leader: @susanGroup 2: @claire,@maria,@mark,@hugo
Leader: @maria
```## Slack App Setup
First, run `ngrok http 3000` this will give an URL that we will need to allow slack to communicate with your bot.
Then, create a new slack app following docs at https://api.slack.com/slack-apps.
Grab your app client id and secret, and [start setting up the bot in development](#development), then come back when ready.
Make sure to enable the following features in your slack app:
- Bot User: Name for your bot
- Permissions: Use `/oauth` as your redirect URL.
- Events Subscriptions:
- Use `` as webhook URL.
- Subscribe to bot events: `app_mention`, `message.channels`, and `message.im`.## Development
You will need the following:
- NodeJS V8
- MongoDB
- Ngrok (or similar)
- A slack app ([see below](#slack-app-setup))
- Yarn (optional)
- NVM (optional)Then you can install it with:
```sh
$ git clone https://github.com/anxhe/gordify
$ cd gordify
$ yarn install
$ echo -e "MONGO_URI=mongodb://localhost/gordify_dev\nclientId=\nclientSecret=" > .env
```Now you can start it with as follows:
```sh
$ yarn run dev
```Then visit http://localhost:3000 and click on 'Add to Slack' button and authorize bot to joing your Slack's workspace.
NOTE: By default gordify runs on PORT 3000, this can be changed in .env file.
## Tests
```
$ yarn run test
```