sms autoreply dengan gammu

1
Auto Reply On Gammu use MySQL trigger Gammu merupakan enggine buat sms gateway yang populer, pa lagi sekarang sudah ada versi buat berbagai macem platform termasuk windus. Guugling aja gammu di inet boeat donglod. Hasilnya, bener-bener simple, ndak perlu ribet mikirin PDU nya, AT Command and lain-lain, sms masuk otomatis udah akan nongol di table inboxnya, sedangkan pas case kita nge bales sms, sms otomatis akan ada di table outbox. Ketika udah terkirim, data di table outbox akan otomatis dihapus and dipindah ke table sentitems. Dengan asumsi koneksi udah berjalan (pake DKU5, blutoth or else), kita akan mencoba untuk membuat autoreplynya, cos fitur ini tidak disediakan secara otomatis oleh gammu dengan menggunakan fitur trigger pada mysql. A trigger is a named database object that is associated with a table, and that activates when a particular event occurs for the table MySQL Help Oks dengan asumsi kita sudah mempunyai table-table bawaan gammu plus satu tabel lagi yang dijadiin object agen. Tabel data_dokter(id_dokter,nama) values (’AK47′,’Rico Hantono’) SMS Inbox sampe case : data id_dokter (misal : data AK47) Here they are : DELIMITER | CREATE TRIGGER infodokter AFTER INSERT ON inbox FOR EACH ROW BEGIN insert into outbox(DestinationNumber,Coding,TextDecoded,CreatorID) values(NEW.SenderNumber,'Default_No_Compression',(select nama from data_dokter where id_dokter=SUBSTRING(NEW.TextDecoded,6)),'1'); END; | DELIMITER ; Script diatas akan menbuat sebuah trigger dengan nama infodokter yang akan bekerja atau diproses pada even setelah data diinsert ke dalam tabel inbox. Setelah itu, untuk setiap data yang baru saja masuk dalam tabel inbox akan diberlakukan sql command insert into outbox(DestinationNumber,Coding,TextDecoded,CreatorID) values(NEW.SenderNumber,'Default_No_Compression',(select nama from data_dokter where id_dokter=SUBSTRING(NEW.TextDecoded,6)),'1'); SQL command tersebut setelah proses akan ditranslate seperti ini : insert into outbox(DestinationNumber,Coding,TextDecoded,CreatorID) values ('0812334956','Default_No_Compression','Rico Hantono') Satu hal dari pengalaman membuat autoreply dengan trigger MySQL, jika kita bekerja dengan reply yang simple gw rasa metode ni bisa dipake, namun kalo reply mengharuskan kita fetching dari beberapa tabel , hasil query yang bisa lebih dari satu dan?constrain yang rumit, sangat tidak dianjurkan sampeyan pake method ini. Pa lagi dengan kemampuan SQL yang pas-pas an kek gw mendingan pake desktop application dengan dukungan ODBC. Kita bisa lebih mudah nge implementasiin query-query rumit dengan sedikit campur tangan algoritma kita sendiri .Selain itu, jika ada perubahan command sms ataupun perubahan format reply, kita akan lebih mudah memanagenya. Source: http://www.helmi-fajar.net/?p=32

Upload: bayu-abiwidodo

Post on 30-Jun-2015

607 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: SMS autoreply dengan GAMMU

Auto Reply On Gammu use MySQL trigger

Gammu merupakan enggine buat sms gateway yang populer, pa lagi sekarang sudah ada versi buat berbagai macem platform termasuk windus. Guugling aja gammu di inet boeat donglod. Hasilnya, bener-bener simple, ndak perlu ribet mikirin PDU nya, AT Command and lain-lain, sms masuk otomatis udah akan nongol di table inboxnya, sedangkan pas case kita nge bales sms, sms otomatis akan ada di table outbox. Ketika udah terkirim, data di table outbox akan otomatis dihapus and dipindah ke table sentitems.

Dengan asumsi koneksi udah berjalan (pake DKU5, blutoth or else), kita akan mencoba untuk membuat autoreplynya, cos fitur ini tidak disediakan secara otomatis oleh gammu dengan menggunakan fitur trigger pada mysql.

A trigger is a named database object that is associated with a table, and that activates when a particular event occurs for the tableMySQL Help

Oks dengan asumsi kita sudah mempunyai table-table bawaan gammu plus satu tabel lagi yang dijadiin object agen.Tabel data_dokter(id_dokter,nama) values (’AK47′,’Rico Hantono’)SMS Inbox sampe case : data id_dokter (misal : data AK47)Here they are :

DELIMITER |CREATE TRIGGER infodokter AFTER INSERT ON inboxFOR EACH ROW BEGINinsert into outbox(DestinationNumber,Coding,TextDecoded,CreatorID) values(NEW.SenderNumber,'Default_No_Compression',(select nama from data_dokter where id_dokter=SUBSTRING(NEW.TextDecoded,6)),'1');END;|DELIMITER ;

Script diatas akan menbuat sebuah trigger dengan nama infodokter yang akan bekerja atau diproses pada even setelah data diinsert ke dalam tabel inbox. Setelah itu, untuk setiap data yang baru saja masuk dalam tabel inbox akan diberlakukan sql command

insert into outbox(DestinationNumber,Coding,TextDecoded,CreatorID)values(NEW.SenderNumber,'Default_No_Compression',(select nama from data_dokterwhere id_dokter=SUBSTRING(NEW.TextDecoded,6)),'1');

SQL command tersebut setelah proses akan ditranslate seperti ini :

insert into outbox(DestinationNumber,Coding,TextDecoded,CreatorID)values ('0812334956','Default_No_Compression','Rico Hantono')

Satu hal dari pengalaman membuat autoreply dengan trigger MySQL, jika kita bekerja dengan reply yang simple gw rasa metode ni bisa dipake, namun kalo reply mengharuskan kita fetching dari beberapa tabel , hasil query yang bisa lebih dari satu dan?constrain yang rumit, sangat tidak dianjurkan sampeyan pake method ini. Pa lagi dengan kemampuan SQL yang pas-pas an kek gw mendingan pake desktop application dengan dukungan ODBC. Kita bisa lebih mudah nge implementasiin query-query rumit dengan sedikit campur tangan algoritma kita sendiri .Selain itu, jika ada perubahan command sms ataupun perubahan format reply, kita akan lebih mudah memanagenya.

Source: http://www.helmi-fajar.net/?p=32