Project

twilio_bot

0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Map Twilio webhooks to a plain Ruby class
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.8
~> 1.6
~> 0.6.3
~> 10.0
~> 3.0

Runtime

~> 3.2
~> 1.5.2
~> 1.4
 Project Readme

TwilioBot

Don't worry about writing a web server — integrate with Twilio using a plain Ruby class!

TwilioBot maps web server requests to Ruby methods, and provides a Ruby-like way to respond with TwiML.

Installation

Add this line to your application's Gemfile:

gem 'twilio_bot'

And then execute:

$ bundle

Or install it yourself as:

$ gem install twilio_bot

Usage

Write a Ruby class like this:

require "twilio_bot"

class MyBot < TwilioBot
  account_sid "MY TWILIO ACCOUNT SID"
  auth_token "MY TWILIO AUTH TOKEN"

  def start
    twilio.say "hello world!", voice: :woman
    twilio.redirect :redirected
  end

  def redirected
    twilio.say "redirected!"
  end
end

Calling methods on twilio generate TwiML. See Twilio's documentation for more information.

Then start the server like this:

MyBot.run

POST /start to call start in your bot class.

TwilioBot is a subclass of Sinatra::Base, so you can use any normal Sinatra stuff with it.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

  1. Fork it ( https://github.com/alyssais/twilio_bot/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request