Skip to main content

Twilio command-line application for sending SMS text messages and making voice calls.

Project description

README
======

**Twerp is the telephone hackers toolkit.**

Twerp is also:

* A command-line interface for the Twilio API

* A tool that will revolutionize crank calling (only legal from California to the French parts of Canada. Note: IANALBISEEOC (I am not a lawyer but I've seen every episode of Cops).

Features:

* Buy phone numbers fromt he command-line in the U.S., toll free and wherever Twilio sells them
* Manage Twilio accounts: create new sub-accounts, list, rename accouts
* Make phone calls from the command-line
* Conrtol call flow from the command-line using stateless TwiML transactions (no web app necessary)
* Command-line driven conference calls
* Send and receive SMS text messages
* Read your Twilio logs from the command-line
* Modify the flow of calls or conferences in progress with a curses based comand-line interface
* Do lots of stuff without going to your dashboard on the twilio.com website


TODO:

* Plugin system based on Python entry_points
* Plugin to launch Bottle web app and localtunnel.com it!
* Plugin for Phox Flask webapp


.. contents::


Installation
------------

pip install twerp



Configure twerp
---------------

~/.twerprc


ACCOUNT_SID=a902830980980980ff987yada

AUTH_TOKEN=98798asdfas9df87sadf987yada

CALLERID=+12135551212



Usage::
=======

Usage: twerp [options]

Options:
-h, --help show this help message and exit
--version Show twerp version and exit.
-v, --verbose Show more output stuff.
--debug Show debugging information.
-q, --quiet Show less output.

Common options:
These options can be used for both SMS and voice calls.

-c CALLERID, --callerid=CALLERID
Phone number you are calling from or texting from.
-i, --interactive Go into interactive command-line mode after dialing
(voice or conferences).

Voice call options:
Place phone calls, execute TWIML.

-d +12135551212,+14155551212, --dial=+12135551212,+14155551212
List of numbers to dial, comma-separated.
-y Say something., --say=Say something.
Use with --dial to say something.
-u URL of TWIML, --url=URL of TWIML
URL of TWIML to pass call with --call
-b +12135551212, --buy=+12135551212
Buy a specific phone number listed with -x or -a
-a AREA CODE, --area-code=AREA CODE
Search for phone number to purchase by area code. Use
-b to purchase from these results.

-x CONTAINS, --contains=CONTAINS
Search for phone number to purchase by numbers or
letters it contains.

Conference (voice) options:
These options can be used for voice conference calls.

-f +12135551212,+14155551212, --conference=+12135551212,+14155551212
Start conference with list of numbers to dial, comma-
separated.

-o ROOM, --room=ROOM
Room to join for voice conference.
-e, --conferences Show conferences in-progress.
-p, --conference-participants
Show participants for all conferences in-progress.

SMS options:
Send and reveive SMS text messages.

-m <TXT MSG>, --message=<TXT MSG>
Send SMS text message

-s +12135551212,+14155551212, --sms=+12135551212,+14155551212
Send SMS text message to list of numbers.

-l, --list-sms Show incoming SMS messages.

Reporting options:
List your Twilio phone numbers and information about each.

-n, --notifications
Show notifications from Twilio API (error messages and
warnings).
-r, --numbers Show all my Twilio phone numbers. Use -Nv for detailed
info on each number.
--sid=SID Show log for given SID

Applications:
Twilio Application information.

--applications Show all my Twilio Applications.


Accounts:
Twilio account and sub-account management

--list-accounts
List all Twilio accounts and sub-accounts.

--create-sub-account=NAME
Create sub-account named 'NAME'

--rename-sub-account=NAME
Rename account or sub-account using 'NAME'

Interactive Mode
================


The Prompt
----------

The prompt will have part of the SID if a call is in progress:

twerp (CA3abc...) >>

If you hang up a call, for example, there will be no SID, so the prompt will look like this:

twerp (...) >>


Interactive Mode Commands
-------------------------

* list - List all calls in progress, ringing or queued
* hangup - Hang up call associated with SID shown in prompt
* nuke - Hang up all calls associated with account. ALL OF THEM!
* forward <nnnnnnnnnn> - Redirect current call to another phone number
* url <URL> - Redirect flow of call to TwiML at a URL
* info [<SID>] - Show info for current SID or SID given
* sid <SID> - Change the current SID associated with interactive-mode


TODO
----

See http://blog.cakebread.info/



.. Twerp News

News
====

0.0.5
-----

*Release date: 4/4/2012

* Added conference cabability
* Added account management, list, rename and create new Twilio sub-accounts
* Added application management: list all Twilio apps
* Added feature to buy new phone numbers, basic searching by area code or phrase
* Renamed a lot of command-line options
* More unit tests


0.0.3
-----

*Release date: 1/17/2012

* Added --interactive command-line feture to control calls in progress
* Changed many keyword options, we're still super++ pre-alpha, so I can do that.
* Added docs at http://twerp.rtfd.org/


0.0.2
-----

*Release date: 1/6/2012

* Added voice dialing

0.0.1
-----

*Release date: 1/5/2012

* Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

twerp-0.0.5.tar.gz (10.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page