/i2o

Trigger sound effects from a web hook. You can play sounds or listen to a message using text to speech.

Primary LanguagePythonMIT LicenseMIT

Purpose

This project allows you to trigger sound effects from a web hook. You can play sounds or listen to a message using text to speech.

We built this during an office hackday at Avocarrot. We use it with Slack's web hooks and a Rasberry Pi to get notified about calendar events, build statuses or just troll each other:)

Contents

Getting started

  1. Fork the project
  2. Install dependencies using pip install -r pip-reqs.txt
  3. Start the web server using python manage.py runserver
  4. Start Celery worker with celery -A i2o worker -l info (you should also run RabbitMQ or change the broker settings in the settings.py)
  5. Have fun!

Play sounds

Endpoint

http://localhost:8000/events/send

Request body - Play sound from file

{
	"cmd" : "play -f users/batman.wav"
}

Request body - Play sound from url

{
	"cmd" : "play -u https://www.youtube.com/watch?v=3R5gHF0vzew"
}

Text to speech

Endpoint

http://localhost:8000/events/send

Request body

{
	"cmd" : "speak -m 'Hello World'"
}

Contributing

We'd love more people to contribute to this project so feel free to submit your pull requests.

  1. Fork the repo
  2. Apply your changes
  3. Write tests
  4. Submit your pull request