Using RaspberryPI's for Creating an Interesting Slackbot
Install Node.js and NPM
It is always a good idea to the upgrade and update before adding packages after the initial installation of the OS on the PI.
sudo apt-get upgrade sudo apt-get update
You might need to removed the old nodered, which might not be the package we want
sudo apt-get remove nodered sudo apt-get remove nodejs nodejs-legacy sudo apt-get remove npm
And then get the latest node source and install
curl -sL https://deb.nodesource.com/setup_6.x | sudo bash - sudo apt-get install -y build-essential python-dev nodejs
npm seems to come with nodejs. When trying to do an apt-get install npm, I get an error. Running with
node --version v6.4.10 npm --version 3.10.3
Here is an alternate way to install, but the above method seemed to work.
wget http://node-arm.herokuapp.com/node_latest_armhf.deb sudo dpkg -i node_latest_armhf.deb
Useful Pages to Read
Node.js
https://nodejs.org/api
http://nodeschool.io/#workshopper-list
NPM
https://www.sitepoint.com/beginners-guide-node-package-manager/
Coffee - the little language that compiles into Javascript
Slack Pages
https://get.slack.help/hc/en-us/categories/202622877-Slack-Guides
BUA Diversity Slack Home Page
https://buadiversity.slack.com/messages/general/details/
HUBOT Tutorial
Need to set up a bot in a slack page - So, you still need to set up a slack url and a new bot. Follow the instructions in https://scotch.io/tutorials/building-a-slack-bot-with-node-js-and-chuck-norris-super-powers and do the section on Create a new Bot in your slack organization. And then follow the tutorial in spice-up-your-slack-channel-with-hubot.
https://www.sitepoint.com/spice-up-your-slack-channel-with-hubot/
It gives the most basic commands - none of the addons. The section after integrating with slack works except for the pug me section. I found that the hubot-catme section does work. And I didn't bother to understand the Jarvis part of the tutorial that talked about checking when a user was active last. I went on with the example coffee script from the norrisbot git repository.
This is the general hubot repository. It is worth looking at and following the scripting.md using the scripts/slackbot-examples.coffee file from Michikino Slackbot Tutorial
https://github.com/github/hubot.git
https://github.com/github/hubot/blob/master/docs/scripting.md
CatMe Pages
https://github.com/Emile-Filteau/hubot-catme/blob/master/src/catme.coffee [[BR]
Chuck Norris
Useful to do this tutorial also Chuck Norris - uses javascript instead of coffee.
Ship It Squirrels
http://theprogrammingbutler.com/blog/archives/2011/10/28/hubot-scripts-explained/
Maybe Useful to Read
http://www.michikono.com/2015/07/10/in-depth-tutorial-on-writing-a-slackbot/
http://writing.kynan.net.au/2015/07/17/teach-your-raspberry-pi-to-talk-in-slack
Example Slackbots
I installed a couple on the Pi, parvifolius.bbn.com.
To run the Chuck Norris bot and connect to https://buadiversity.slack.com
cd /home/pi/norrisbot BOT_API_KEY=xoxb-48080620372-KHlo6i1AECTA0H7H1nZptr7r node bin/bot.js
On the #general slack channel at the URL above, any mention of Chuck Norris generated a random Chuck Norris joke. Look at lib/norrisbot.js to see how this works.
To run the rabbithain bot:
cd /home/pi/test-bot/ HUBOT_SLACK_TOKEN=xoxb-48595095201-QyWScPVPnV94pQaW7zneF5oJ ./bin/hubot -a slack
On the #general slack channel at the URL above, it can do a bunch of random things. Check the scripts/example.coffee and attached images for what it can do. It is a good example script to see what can be done with slackbots.
For Administration Purposes
Look into PiNet to help with classroom administration. I tried it and it seemed to work. It uses NFS to keep all files from the PI's onto the file server.
Attachments (3)
-
Screen Shot 2016-06-14 at 4.05.46 PM.png (343.0 KB) - added by 8 years ago.
Rabbithain functionality 1
-
Screen Shot 2016-06-14 at 4.06.06 PM.png (392.5 KB) - added by 8 years ago.
Rabbithain functionality 2
-
Screen Shot 2016-06-14 at 4.09.13 PM.png (388.9 KB) - added by 8 years ago.
Rabbithain functionality 3
Download all attachments as: .zip