Τρίτη 27 Οκτωβρίου 2009

Ένας απλός client για το Twitter.

Σήμερα θα φτιάξουμε έναν απλό client για το twitter. Με αυτό το πρόγραμμα θα μπορούμε να ποστάρουμε νέα μηνύματα στο twitter χωρίς να μπαίνουμε στην σελίδα μας. Θα αρχίσουμε πρώτα με την έκδοση για realbasic και μετά για visual basic.net.

Ας αρχίσουμε με το gui του προγράμματος που είναι πολύ απλό. Θέλουμε τα εξής:
Ένα textbox ή editfield. Το ονομάζουμε tb_message. Αυτό πρέπει να είναι multiline και να δέχεται μέχρι 140 χαρακτήρες.
Ένα button ή pushbutton. Το ονομάζουμε btn_update. Σάν text μπορείτε να βάλετε ότι θέλετε.Εγώ έβαλα “tweet it!”.
Ένα label ή static text. Το ονομάζουμε lb_chars. Αυτό θα δείχνει πόσους χαρακτήρες μπορούμε να πληκτρολογήσουμε ακόμα.Αφού το twitter δέχεται 140 χαρακτήρες τότε κάπως πρέπει να ξέρει ο χρήστης μας πόσο του έχει μείνει.

Το gui λοιπόν δείχνει κάπως έτσι. Βέβαια μπορείτε να το κάνετε πιο όμορφο ή να το κάνετε τελείως διαφορετικό, αλλά δέν είναι αυτό το θέμα μας εδώ.

Περνάμε στον κώδικα του προγράμματος μας. Πρώτα ας κάνουμε τον μετρητή να δείχνει πόσους χαρακτήρες έχουμε ακόμα.Με λίγα λόγια οταν αρχίζω ένα κείμενο απο τους 140 χαρακτήρες αφαιρώ αυτό που γράφω.Με λίγα λόγια έχω

tb_chars.text = str(140 - len(tb_message.text))

Αυτό τώρα θα το βάλουμε κάθε φορά που το κείμενο αλλάζει. Δηλαδή στο textchanged του tb_message.

Το επόμενο βήμα είναι να στείλουμε το μήνυμα μας στο twitter. Κάτι που θα το αναθέσουμε στο κουμπί btn_message. Πριν γράψουμε οτιδήποτε θα χρειαστούμε ενα πρόγραμμα για να αναλάβει αυτή την μεταφορά.Η παρακάτω εικόνα είναι απο τήν σελίδα του twitter api.



Άρα λοιπόν θα κατεβάσουμε το curl ένα open source command line πρόγραμμα που θα κάνει την μεταφορά μας. Περισσότερα για το πρόγραμμα θα βρείτε εδώ. http://curl.haxx.se/ .Κατεβάστε την windows binary από εδώ.http://curl.haxx.se/download.html

Για καλύτερα αποτελέσματα καλύτερα να βάλουμε το curl.exe μέσα στον κατάλογο του προγράμματος μας.

Πάμε λοιπόν να γράψουμε τον κώδικα για το κουμπί btn_update.

Dim winshell as shell
winshell = new shell

winshell.Execute("curl --basic --user username:password --data status=" + chr(34)_
+tb_message.text + chr(34) + " http://twitter.com/statuses/update.xml")

// οπου username και password είναι το όνομα και ο κωδικός του twitter σας.

if winshell.ErrorCode <> 0 then
msgBox "Error: " + str(winshell.errorCode)
else
msgbox "Your tweet has been sent!"
end if

Εδώ καλούμε το curl.exe – το οποίο πρέπει να είναι στο κατάλογο με το exe του προγράμματος μας – και του περνάμε μια εντολή έτσι ώστε να στείλει το μήνυμα μας. Αν ψάξουμε λίγο τον οδηγό του twitter api θα δούμε πως αυτά που περνάμε στο culr είναι κάποια ορίσματα για να κάνει την δουλεία του.Ο υπόλοιπος κώδικας είναι απλός.Άν το winshell.errorcode, που είναι ο κώδικας λάθους του shell, είναι μηδέν σημαίνει οτι όλα πήγαν καλά. Αλλιώς κάτι πήγε λάθος οπότε ενημέρωσε τον χρήστη. Μπορείτε να αλλάξετε το πρόγραμμα μιας και εδώ το έγραψα πολύ πρόχειρα. Επίσης μπορείτε να πάρετε και το αποτέλεσμα που επιστρέφει το curl.

Αυτό το πρόγραμμα είναι μια απλή προσπάθεια. Μπορείτε να το εμπλουτίσετε με δικές σας ιδέες. Να γράψετε ενα bot για το twitter.Να βρείτε ενα τρόπο να μπορεί να κάνει sort τα links και τα λοιπά.



Εδώ φαίνεται η καταχώριση μας στο twitter.

Κατεβάστε το πρόγραμμα και τον κώδικα του για RealBasic.
 

Copyright © panosdk Design by BTDesigner | Blogger Theme by BTDesigner | Powered by Blogger