Why?

I started a podcast with my brothers and we wanted to be able to play sounds while we are recording over Skype. I decided to create a Skype bot that I can invite to our group Skype call that we can all ask to play a sound during the recording.

How?

npm install -g yo
npm install -g generator-botbuilder@preview
mkdir soundboard-bot69
cd soundboard-bot69
yo botbuilder
# Give it a name and shit

You'll need to add this line to your package.json for your app to work with heroku: "scripts": { "start": "node app.js" }

git init
git add .
git commit -m ":baby: Initial commit"
heroku git:clone -a soundboard-bot69
git push heroku master

Right now your bot won't work you'll need to sign up for an MICROSOFT_APP_ID and MICROSOFT_APP_PASSWORD.

You can pick up an ID and PASSWORD here: https://dev.botframework.com/bots/new

The Messaging endpoint field should be your heroku app URL in my case https://soundboard-bot69.heroku.com/api/messages.

After you're done add the credentials to Heroku as well as your local .env file.

heroku config:set "MICROSOFT_APP_ID=XXXXXXX"
heroku config:set "MICROSOFT_APP_PASSWORD=XXXXXX"

Restart heroku so these new credentials take effect.

heroku restart

Now back in the bot framework dashboard you can add "Channels" for you bot to receive messages from one of which includes Skype. You can publish the bot as a public bot or if you want to keep him for yourself you can simply add the bot to your personal Skype contacts without publishing so the bot will not show up in public search results.

One thing to note is that in group conversations you have to prefix your messages with your bots name for it to respond ie: @SoundboardBot hi.

What's Next?

Now you can make updates to your bot code and simply git push heroku master and they'll go live.

I recommend you read the bot bulider docs to find out all the things it's capable of.

Happy coding!

Resources