The goal was to create a Slackbot (using slack.com) that could text-to-speech to the cleanspace on command.
Slack provides an API for automated agents (bots) and there are many ways to access the API as found here. I looked at several of the Python examples and settled on Slask as most appropriate for the job. It is very simple, well organized and easily extendible without changing any of the existing code.
The hardware for the project is a stock Raspberry Pi model B with Raspbian. It has an ethernet and a simple headphone jack for audio output. The only other part required is an audio amplifier and speaker.
Set up the Raspberry Pi
Create the slackbot on slack.com (get the access token)
Install slask bot
Create speakbot plugin in plugins/
Make it start and restart automatically with monit
"""!speak <text> will speak the text"""
def speak(m) :
print 'speak("%s")' % m
def on_message(msg, server):
text = msg.get("text", "")
match = re.findall(r"(!speak)\s*(.+)*", text)
if not match: return
msg = match
check process speakbot
start program = "/usr/bin/nohup /bin/sh /home/pi/slask-master/speakbot.sh > /tmp/speakbot.out &"
stop program = "/usr/bin/killall slask"