22 Juli 2012

Shell Scripting Twitter's Bot

Iseng-iseng gak ada kerjaan, saya coba untuk ngetwit auto dengan menggunakan scripting sederhana digabung dengan Python Twitter Tools, ujungnya menghasilkan kinerja yang lumayan memuaskan. Berikut deskripsinya: "The Minimalist Twitter API for Python is a Python API for Twitter, everyone's favorite Web 2.0 Facebook-style status updater for people on the go".

Pertama login di shell lalu lakukan download dan pengekstrakan:
budsz:~$ fetch http://pypi.python.org/packages/source/t/twitter/twitter-1.8.0.tar.gz
budsz:~$ tar zxvf  twitter-1.8.0.tar.gz
Sehingga terbentuk direktori twitter-1.8.0
budsz:~$ ls -ld twitter-*
drwxr-xr-x  6 budsz  poison  512 Jul 22 15:27:08 2012 twitter-1.8.0
Ada beberapa hal yang perlu anda edit, jika anda menggunakan Twitter API, yaitu file-file yang digunakan untuk autentifikasi Oauth twitter. Disini saya tidak akan menjelaskan pembuatan Twitter API, silahkan ngerefer ke site Twitter Developers. Pertama silahkan edit file:
budsz:~$ vim twitter-1.8.0/twitter/cmdline.py
Edit bagian CONSUMER_KEY dan CONSUMER_SECRET, isi nilainya dengan Apps yang sudah anda buat sebelomnya.
CONSUMER_KEY='your_consumer_key'
CONSUMER_SECRET='your_consumer_secret'
Untuk penginstallan dibutuhkan SetupTools, silahkan sesuaikan dengan kebutuhan anda. Selanjutnya tinggal lakukan proses penginstalan dengan root access untuk SetupTools/twitter-1.8.0.tar.gz:
root:~# cd /usr/ports/devel/py-setuptools
root:~# make install clean
root:~# pkg_info | grep py26
py26-setuptools-0.6c11_3 Download, build, install, upgrade, and uninstall Python packages
root:~# easy_install ~budsz/twitter-1.8.0
Note: Jika anda tidak mempunyai Apps silahkan langsung loncat proses instalasi saja yang anda kerjakan.

Uji coba, login kembali menggunakan user biasa:
budsz:~$ twitter -h (Untuk command line help)
budsz:~$ twitter (Login spt diweb, masukan user/password, setelah itu exit maka akan diminta PIN cukup tekan enter saja, defaultnya disimpan di ~$HOME/$USER/.twitter_oauth)
Untuk menggunakan di console/shell:
budsz:~$ twitter set "Hello World!" (Posting new twit)
budsz:~$ twitter search "cinta" (Seaching keyworld di public)
budsz:~$ twitter rate
Remaining API requests: 350 / 350 (hourly limit)
Next reset in 3544s (Sun Jul 22 17:38:01 2012)
Implementasi untuk auto posting anda tinggal gabungin dengan fasilitas cron(8) dan Shell scripting.