Artikel ini adalah lanjutan artikel sebelumnya, yang membahas tentang alur dari kode di balik Mass Numbered Tweeting. Artikel tersebut berjudul Alur Mass Numbered Tweeting (bagian 1).
Secara ringkas, bagian pertama itu membahas fitur penunjang dari Mass Numbered Tweeting, yaitu mendapatkan daftar friends / followers dari suatu akun twitter. Itu baru dua dari empat action yang digunakan. Artikel ini akan mengupas dua action berikutnya, yakni bagaimana Mass Numbered Tweeting itu sendiri bekerja. Langsung saja dilanjutkan ke post_tweet.php
Kode sumber post_tweet.php bisa juga dilihat di github.
Bagian awal ini cukup mirip dengan bagian awal pada get_followers.php. Jadi, kupikir ini tidak butuh penjelasan terlalu panjang. Yang dilakukan bagian ini sama juga dengan uraian di get_followers.php. Require mengimpor dua file yang diperlukan dan selanjutnya membuat sebuah objek $connection.
Selanjutnya, post_tweet.php menerima input dari file yang memanggilnya (index.html) dengan metode POST dan menyimpannya sebagai variabel $teksbiasa. $teksbiasa ini adalah teks yang akan kita tweetkan.
Setelah itu, baris kode berikutnya mengirimkan request ke Twitter API. Perincian tentang request ini dapat dilihat pada Dokumentasi Twitter REST API untuk POST statuses updates.
Informasi terpenting yang kita butuhkan dari dokumentasi tersebut untuk membuat request ke Twitter adalah sebagai berikut:
Method: POST
Resource URL: https://api.twitter.com/1.1/statuses/update.json
Parameter-parameter wajib: status
Hanya satu parameter yang kita gunakan, yakni status. Parameter status ini akan kita isi dengan nilai dari variabel $teksbiasa.
Format untuk membuat request dengan memanfaatkan tmhOAuth:
$namaobjek->request(‘Method’, $namaobjek ->url(‘bagian Resource URL‘),arrayofparameter);
Sehingga beginilah kode yang kita letakkan dalam file ini (baris 31-32):
$connection->request(‘POST‘,$connection->url(‘1.1/statuses/update‘),array(‘status’ => $teks_biasa));
Kali ini, di depan kode di atas kita tambahkan “$code =” untuk langsung menangkap response code dari server twitter atas request di atas. Pada baris berikutnya, kita akan mencetak teks “Tweet Sent” jika response code adalah 200 (berhasil) atau mencetak response code apabila bukan 200 (gagal).
Selanjutnya adalah tentang post_tweet_batch.php. Kode dasarnya relatif mirip dengan post_tweet.php, hanya saja agak lebih kompleks.
Kode sumber post_tweet_batch.php juga tersedia di github.
Bagian awal ini sama dengan yang sebelum-sebelumnya, yakni mengimpor file yang diperlukan dan membuat sebuah objek $connection.
Selanjutnya, post_tweet_batch.php menerima input dari file yang memanggilnya (index.html) dengan metode POST. Input tersebut disimpan variabel $temp dan $urutanpertama. $temp adalah daftar username twitter, dipisahkan dengan tanda koma (,). $temp ini adalah sesuai dengan output dari get_followers.php maupun get_friends.php.
Sedangkan $urutanpertama adalah angka awal dari batch tweet. Batch Tweet dapat terdiri dari berapapun tweet, jumlah tweet otomatis menyesuaikan dengan jumlah username twitter yang diinput.
Variabel $temp perlu kita ubah menjadi array untuk memudahkan pemrosesan. Untuk melakukannya, kita gunakan fungsi explode() dan menampung hasilnya dalam variabel $pengikut. Untuk kebutuhan proses berikutnya, kita juga menyimpan banyaknya elemen dalam array $pengikut (banyak username twitter) dalam variabel $maxpengikut.
Bagian terakhir dari post_tweet_batch.php adalah iterasi di atas. Misalkan, kita inputkan:
Daftar username ($temp / $pengikut): @Ayam,@babi,@kuda
Angka awal ($urutanpertama): 5
Maka, kode harus menghasilkan tweet-tweet ini:
“Hey” + “@Ayam” + “assalamualaikum yaaa gimana kabarmu” + “5”
“Hey” + “@babi” + “assalamualaikum yaaa gimana kabarmu” + “6”
“Hey” + “@kuda” + “assalamualaikum yaaa gimana kabarmu” + “7”
Hal itu dapat kita capai dengan proses iterasi seperti ini:
Iterasi ke($i) | Angka Urutan ke($i + $urutanpertama) | Username tertampil($pengikut[$i]) |
0 | 5 | @Ayam |
1 | 6 | @babi |
2 | 7 | @kuda |
Baris ke-51 maksudnya adalah: Untuk $i dimulai dari 0, selama $i lebih kecil dari $urutanpertama, tambahkan $i dengan 1 setiap pengulangan. Baris berikutnya menunjukkan bahwa angka yang ditampilkan pada tweet selalu merupakan urutan iterasi ($i) ditambahkan angka awal ($urutanpertama). Selanjutnya disiapkanlah teks yang akan ditwitkan yang terdiri dari gabungan teks tetap dan teks variabel sebagaimana telah disinggung di atas. Hal ini sudah diuraikan lebih terperinci dalam artikel sebelumnya.
Baris berikutnya melakukan operasi mengirimkan request ke server twitter seperti halnya operasi request POST statuses updates dalam post_tweet.php. Sama persis.
Bagian terakhir memberikan jeda antar-tweet selama 5 detik. Angka 5 dapat diganti dengan angka lain. Dokumentasi tentang fungsi sleep dapat dibaca di sini.
Jangan lupa bahwa bagian ketiga ini adalah sebuah iterasi. Iterasi ini akan terus berulang selama kondisi dipenuhi. Iterasi hanya berhenti jika jumlah iterasi yang dilakukan telah menyamai/melebihi jumlah elemen dalam array $pengikut (jumlah username). Dengan kata lain, untuk satu username yang disediakan, ada satu proses iterasi yang dijalankan, mulai dari: penyiapan teks untuk ditweet, pengiriman request POST statuses updates, dan jeda 5 detik.
Demikianlah catatan tentang alur dari Mass Numbered Tweeting.
Terima kasih. Semoga bermanfaat.
(SELESAI)