Lleidasms
A Lleida.net SMS gateway for Ruby.
Description
Receive and send standar and premium SMS/MMS using Lleida.net services.
Features
- client class
- gateway superclass for new client implementations
Protocol implementation (78%)
- Comandos Generales (100%)
- implemented: saldo, ping, pong, infonum, tarifa, quit
- Comandos para el envíıo de MT simples (100%)
- implemented: submit, bsubmit, usubmit, fsubmit, fbsubmit, fusubmit, dsubmit, dbsubmit, dusubmit, dfsubmit, dbfsubmit, dfusubmit, waplink, dst, msg, filemsg, mmsmsg, envia, acuseon, acuseoff, acuse, acuseack, trans
- Comandos para la recepcion de SMS (NO Premium) (100%)
- implemented: allowanswer, incomingmo, incomingmoack
- Comandos para la recepcion de SMS (Premium) (0%)
- implemented: none
- TODO: deliver, resp, bresp, waplinkresp
- Comandos para la resolucion de MSIDSN (0%)
- implemented: none
- TODO: checkall, rcheckall, checknetwork, rchecknetwork
More info in Lleida.net Developers Network
Installation
From the command line
gem install lleidasms
Using Gemfile
1 Add to your application Gemfile
gem 'lleidasms'
2 Type
bundle install
Examples
Demo
From the command line
lleidasms YOUR_USER YOUR_PASSWORD
or
lleidasms_client YOUR_USER YOUR_PASSWORD
Using default client class
sms = Lleidasms::Client.new
sms.connect <YOUR_USER>, <YOUR_PASSWORD>
puts sms.saldo
sms.close
Creating a new client
class SMS < Lleidasms::Gateway
event :INCOMINGMO, :new_sms
def new_sms label, cmd, args
id = args.shift
time = args.shift
from = args.shift
to = args.shift
sms = args.join(' ')
puts " id #{id}"
puts " time #{time}"
puts " from #{from}"
puts " to #{to}"
puts " sms #{sms}"
cmd_incomingmoack id, label
end
end
sms = SMS.new
sms.connect
sms.listener
sms.cmd_login <YOUR_USER>, <YOUR_PASSWORD>
while sms.conected?
# Some tasks
end
Special method raw command
Allow you to send to server any command not implemented.
cmd_raw 'PING', time
Special event :unknow
To detect unknow commands.
event :unknow, :new_unknow
def new_unknow label, cmd, args
end
Enabling debug
Use debug to capture debug events at :in, :out or :all messages
class SMS < Lleidasms::Gateway
debug :all, :debugger
debug :in, :debugger_in
debug :out, :debugger_out
def debugger line
puts line
end
def debugger_in line
puts line
end
def debugger_out line
puts line
end
end
sms = SMS.new
sms.connect
sms.listener
sms.cmd_login <YOUR_USER>, <YOUR_PASSWORD>
while sms.conected?
# Some tasks
end
License
Released under the MIT license: http://www.opensource.org/licenses/MIT