A Flask application that powers the /wtf Slack command. Inspired by a previous incarnation of similar functionality. Relies on the VA acronym list.
If using a VA slack instance, you can configure an instance of this bot into your slack. To do this, follow these steps:
- Create a new slack app in your workspace, using the manifest. Instructions to do this are here.
- Get the app approved by your administrators and add it to your workspace.
- Submit a ticket to the DOTS service desk and provide the 'Verification Token' available in the
Basic Information / App Config
section of your bot config. This token is used to validate your requests to the wtf-bot. - DOTS will inform you when the token has been added, and will provide you with the URL to the wtf-bot service. This
URL should be added to your app config to replace the
http://replace.me.com/slack
link. - Test out the wtf-bot in your slack with
/wtf VA
- it should work!
Clone this repo.
$ git clone https://github.com/department-of-veterans-affairs/wtf-bot.git
$ cd /path/to/wtf-bot/
Make sure you have the correct version of python. Pyenv manages python versions.
pyenv install 3.8.12
(use version in.python-version
)- Make sure to configure your shell's environment for pyenv following instructions in step 2 here.
- Once this is done, start a new shell and run
pyenv version
andpython --version
in the terminal from the root directory of the project, both should read3.8.12
$ make python-install
$ source ENV/bin/activate
> python3 -m venv ENV
> ENV\Scripts\activate
> pip3 install -r requirements.txt dev-requirements.txt
$ make test
$ export FLASK_APP=/path/to/wtf-bot/wtf.py
$ export FLASK_DEBUG=1
$ export SLACK_TOKENS={comma separated tokens to be defined by you}
$ export DATA_URL=https://raw.githubusercontent.com/department-of-veterans-affairs/acronyms/master/acronyms.csv
> set FLASK_APP=/path/to/wtf-bot/wtf.py
> set FLASK_DEBUG=1
> set SLACK_TOKENS={comma separated tokens to be defined by you}
> set DATA_URL=https://raw.githubusercontent.com/department-of-veterans-affairs/acronyms/master/acronyms.csv
$ flask run
$ curl -X POST http://127.0.0.1:5000/slack -d "text=aaa&token={to be defined by you}"
Open an Issue. Pull requests welcome.