A Slack bot allowing for anonymous reports to be sent whilst allowing for bidirectional communication between the reporter and the recipient.
- Send anonymous reports
- Reports are sent to a channel where recipient(s) can view them
- The reports can be responded to, relaying the message to the anonymous reporter's DM with the bot
- Create a new Slack app at api.slack.com/apps
- Create an Airtable with three columns:
dm_ts
,forwarded_ts
,selection
,selection_ts
, anddm_channel
- Use the
manifest.yml
file to create it - Install the app to your workspace
- Clone the repository
- Copy
example.settings.toml
tosettings.toml
and fill in the values
Run the following command to build and run the Docker container:
docker-compose up
If you want to run the container in the background, use the -d
flag:
docker-compose up -d
If you want to run the server without Docker, you can use Poetry:
poetry install
poetry run python -m shroud
Upon a direct message being sent to the bot, the bot will forward the message to the specified channel. The recipient(s) can then respond to the message in the thread, which will be relayed to the anonymous reporter's DM with the bot.
To clean broken database records, run the /shroud-clean-db
command.