Menarik bukan???
OK, langkah pertama kita harus menentukan format SMS yang akan dikirimkan ke SMS centernya, misalkan: TWITTER#ISISTATUS
Dalam format di atas, terdapat 2 parameter yaitu TWITTER yang berfungsi sebagai keywordnya, dan juga ISISTATUS yang merupakan isi status updatenya. Sedangkan antara parameter pertama dan kedua dipisahkan dengan tanda #.
Selanjutnya untuk scriptnya nanti yang akan dibuat, pastikan memuat prosedur untuk melakukan proses parsing untuk semua SMS yang diterima oleh SMS center. Parsing ini harus dilakukan untuk mendapatkan nilai parameter-parameter tersebut, jika jumlah parameternya kurang dari 2 atau lebih dari 2, maka format SMS nya salah. Sedangkan jika parameternya berjumlah 2 dan parameter pertama berisi TWITTER, maka format SMS benar dan selanjutnya lakukan proses update status Twitternya.
aka untuk script update status Twitter ini kita masih menggunakan AJAX, meskipun ini hanya salah satu cara saja.
Sekarang kita coba buat script PHP untuk membaca SMS yang masuk di Inbox Gammu lalu memprosesnya dengan ide di atas.
update-twitter.php
<pre class="prettyprint lang-html">
<?php // koneksi ke database Gammu $dbhost = 'localhost'; $dbuser = '...'; $dbpass = '...'; $dbname = '...'; mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db($dbname); // membaca INBOX Gammu $query = "SELECT * FROM inbox WHERE Processed = 'false'"; $hasil = mysql_query($query); $data = mysql_fetch_array($hasil); $id = $data['ID']; $sms = $data['TextDecoded']; $sender = $data['SenderNumber']; // proses parsing SMS berdasarkan karakter # $parse = explode('#', $sms); // jika jumlah parameter hasil parsing adalah 2 if (count($parse) == 2) { // baca keyword hasil parsing $keyword = strtoupper($parse[0]); // baca status hasil parsing $status = $parse[1]; // jika keyword adalah 'TWITTER' maka jalankan proses update status if ($keyword == 'TWITTER') { include 'twitter.php'; $twitter = new Twitter('<consumer-key>', '<consumer-secret>'); $twitter->setOAuthToken('<access-token>'); $twitter->setOAuthTokenSecret('<access-token-secret>'); $twitter->statusesUpdate($status); $reply = 'Update status Twitter sukses'; } else $reply = 'Keyword salah'; } else $reply = 'Format SMS Salah'; // menandai SMS di INBOX Gammu bahwa sudah diproses $query = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'"; mysql_query($query); // mengirim pesan SMS balasan ke nomor pengirim $query = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID) VALUES ('$sender', '$reply', 'Gammu')"; mysql_query($query); ?>
</pre>
Keterangan:
- Pastikan Anda sudah mendownload script twitter.php dan meletakkannya di dalam folder yang sama dengan script di atas.
- Isikan <consumer-key>, <consumer-secret>, <access-token> dan <access-token-secret> pada bagian yang sudah ditentukan di atas. Untuk keterangan lebih detil, silakan pelajari lagi
index.html
<pre class="prettyprint lang-html">
<html> <head> <script type="text/javascript"> function proses() { if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 &amp;&amp; xmlhttp.status==200) { } } xmlhttp.open("GET","update-twitter.php"); xmlhttp.send(); setTimeout("proses()", 5000); } </head> <body onload="proses();"> <h1>SMS Center Twitter</h1> </body> </html>
</pre>
Keterangan:
Script AJAX di atas senantiasa akan menjalankan script update-twitter.php setiap interval 5 detik (5000 ms), perhatikan
setTimeout("proses()", 5000);
Jika dalam setiap interval 5 detik itu ada SMS yang masuk ke INBOX dan memuat keyword TWITTER maka akan langsung melakukan update Twitter nya.Script yang perlu Anda jalankan dibrowser hanyalah index.html saja, sedangkan untuk script update-twitter.php tidak perlu dibuka di browser karena sudah otomatis dijalankan oleh AJAX yang ada di index.html tadi.
OK… selamat mencoba ya, and… selamat menge-twit via SMS
0 komentar:
Posting Komentar