class SmsBomber
Public Class Methods
new(modemAddress)
click to toggle source
# File lib/smsBomber.rb, line 5 def initialize (modemAddress) @uart=SerialPort.new(modemAddress, 230400, 8, 1, SerialPort::NONE) @uart.write('AT+CMGF=1'+13.chr) sleep(1) @readingThread=Thread.new do while true do data=@uart.gets.chomp! if data.include? '+CMGS:' @modemBusy=false print "Sent!\n" end end end puts 'Initializing modem in pdu mode.... OK!' end
Public Instance Methods
dispose()
click to toggle source
# File lib/smsBomber.rb, line 52 def dispose Thread.kill @readingThread end
sendFlashSMS(phoneNumber, smsText, smsCount)
click to toggle source
# File lib/smsBomber.rb, line 22 def sendFlashSMS(phoneNumber, smsText, smsCount) @uart.write('AT+CSMP=17,167,0,16'+13.chr) puts 'Setting modem to send class 0 SMS... OK!' sleep(2) sendMessage(phoneNumber, smsCount, smsText) end
sendSMS(phoneNumber, smsText, smsCount)
click to toggle source
# File lib/smsBomber.rb, line 29 def sendSMS(phoneNumber, smsText, smsCount) @uart.write('AT+CSMP=17,167,0,0'+13.chr) puts 'Setting modem to send SMS... OK!' sleep(2) sendMessage(phoneNumber, smsCount, smsText) end
Private Instance Methods
sendMessage(phoneNumber, smsCount, smsText)
click to toggle source
# File lib/smsBomber.rb, line 38 def sendMessage(phoneNumber, smsCount, smsText) (0..smsCount).each do |i| print "Sending Message ##{i}" @modemBusy=true @uart.write("AT+CMGS=\"#{phoneNumber}\""+13.chr) sleep(1) @uart.write(smsText+26.chr) while @modemBusy do print '.' sleep(1) end end end