Subscribe:

Ads 468x60px

Pagesa

Senin, 05 September 2011

Cara Mengirim Pesan di Facebook Menggunakan Python

Pernahkah anda mendapati inbox facebook anda berisi pesan-pesan tidak penting, seperti promosi MLM, obat kuat, website atau semacamnya ? bisa jadi itu kerjaan program yang orang buat, jadi dia bisa mengirim pesan ke semua temannya hanya dengan sekali klik. Berminat untuk membuat program seperti itu ? Nah kita akan mencoba untuk membuat program pengririm pesan facebook itu dengan python.

Cara Kirim pesan / message / PM di facebook menggunakan python cukup mudah. Yang anda perlukan hanya Nama dan ID Facebook calon penerima pesan anda.

Apa itu ID Facebook ?  itu adalah id unik yang dimiliki oleh setiap akun facebook.

Cara untuk melihat ID orang :
Coba buka salah satu profil facebook teman anda. Lalu lihat pada bagian addressbar browser bagaimana tampilan urlnya. Ada dua kemungkinan :
    Seperti ini   http://www.facebook.com/profile.php?id=100000967412945  
atau
    Seperti ini  http://www.facebook.com/beni.budiharto

Perbedaan ini dikarenakan belum semua pengguna facebook mengganti alamat profilnya. Pada contoh yang pertama ia belum mengganti alamat profilnya sehingga masih menampilkan ID facebooknya pada url. Nah yang saya maksud ID Facebook adalah nomor-nomor tersebut.  id=100000967412945 itulah Id Facebooknya.

Sedangkan untuk contoh kedua karena IDnya tidak kelihatan maka kita harus masuk dulu ke halaman profil teman kita tersebut. Lihat source code htmlnya, lewat fasilitas Find cari string berikut ''profile\\\/navigation.php?id=" pasti di sebelahnya kelihatan ID Facebooknya.

Bagi yang baru datang kesini di dianjurkan untuk membaca dulu artikel  Cara Login Ke Facebook Menggunakan Python. Karena artikel tersebut adalah penjelasan salah satu fungsi code yang akan kita pakai nanti.

Pengetahuan HTML tentang struktur form diperlukan disini terutama jika anda ingin memahami alur pemrogramannya. Tetapi bagi yang hanya ingin iseng / coba-coba saja, code Kirim Pesan di Facebook Menggunakan Python ini sudah bisa anda digunakan dengan mudah.

Code Fungsi-fungsinya :
import urllib, urllib2,cookielib, re

def login(email,password):
    value = {'post_form_id' : '42d7f2c5ff3976d42ead29cbda1561ec' ,
             'email':email,
             'pass':password}
    login_data = urllib.urlencode(value)
    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    url = 'https://www.facebook.com/login.php?m=m&refsrc=http%3A%2F%2Fm.facebook.com%2F&refid=8' 
    opener.open(url,login_data)
    return opener

def tambah_penerima(nama_penerima, id_penerima, var_post):
    var_post['ids[%s]' % id_penerima] = id_penerima
    var_post['text_ids[%s]' % id_penerima] = nama_penerima
    return var_post

def kirim_pesan(data_penerima, isi_pesan):
    response = opener.open('http://m.facebook.com/messages/compose/')
    html = response.read()
    form = re.search('<form method="post" action="/messages/send/[\S ]*input type="submit" value="Kirim"',html)
    data_variable = re.findall('name="\S*" value="\S*"', form.group(0))
    for data in data_variable:
        cari = re.search('name="(?P\S*)" value="(?P\S*)"',data)
        name = cari.group('name')
        value = cari.group('value')
        var_post[name] = value
    var_post['body'] = isi_pesan
    data_post = urllib.urlencode(var_post)
    opener.open('http://m.facebook.com/messages/send/?refid=0',data_post)

Code Panggilnya :
#Ganti dengan email dan password facebook anda
email = 'emailku@yahoo.com'
password = 'passwordku'
opener = login(email,password)

#Masukkan nama dan ID penerima
#Contoh :
#penerima = tambah_penerima('nama teman','id teman',penerima)
penerima = {}
penerima = tambah_penerima('Anggun Widastari','130973826',penerima)
penerima = tambah_penerima('-Widi Permono-','100002398058444',penerima)

isi_pesan = 'ini pesan saya untuk kamu'
kirim_pesan(penerima,isi_pesan)

Penjelasan Sedikit
#Ganti dengan email dan password facebook anda
email = 'emailku@yahoo.com'
password = 'passwordku'
opener = login(email,password)
Pertama-tama kita login dulu ke facebook dan mendapatkan cookiesnya agar bisa mengirim pesan di facebook menggunakan python. Penjelasan code ini ada disini


penerima = {}
#Masukkan nama dan ID penerima
#Contoh :
#penerima = tambah_penerima('nama teman','id teman',penerima)
penerima = tambah_penerima('Anggun Widastari','130973826',penerima)
penerima = tambah_penerima('-Widi Permono-','100002398058444',penerima)
Yang kedua kita disini kita mengisikan Nama dan ID Facebook orang yang akan dikirimi pesan, dimasukkan ke dalam fungsi tambah_penerima, dan akan menghasilkan dictionary penerima yang nantinya akan digunakan untuk mengirim POST request pada fungsi kirim_pesan

isi_pesan = 'ini pesan saya untuk kamu'
kirim_pesan(penerima,isi_pesan)
Memanggil fungsi kirim pesan dengan memasukkan variable isi_pesan dan penerima.
Di dalam fungsi kirim_pesan , variable penerima dan isi_pesan akan di gabung menjadi satu dengan variable-variable dari form html kemudian di submit ke  http://m.facebook.com/messages/send/?refid=0

Saat artikel ini dibuat, code ini masih bisa digunakan.

PS :
   - Anda hanya bisa mengirimkan pesan / message / PM ke orang yang sudah menjadi teman anda
   - Bisa untuk mengirim ke banyak teman... tapi saya ga tahu berapa batasnya
   - Hati-hati jangan terlalu banyak mengirim pesan yang sama, bisa jadi nanti fitur kirim pesan akun anda akan di suspend sementara oleh si Mark Zuckerberg

0 komentar:

Posting Komentar