Πρόσφατα έφτιαξα ένα bot για το twitter που κάθε μια ώρα κάνει ένα tweet αναφέροντας μια προσωπικότητα που γεννήθηκε σαν σήμερα και παραθέτει ένα link για την αντίστοιχη σελίδα στη wikipedia.
Λίγη … προϊστορία
Συνεχώς έχω στο μυαλό μου να ασχοληθώ με διάφορα projects τα οποία καταλήγουν είτε να αναβληθούν για το απώτερο μέλλον, ή τα ξεκινάω αλλά δε τα τελειώνω ποτέ.
Έτσι αυτή τη φορά αποφάσισα να ασχοληθώ με κάτι σχετικά εύκολο για να μην μείνει απλά ιδέα ή μισοτελειωμένο.
Η αρχική ιδέα
Σκέφτηκα λοιπόν να φτιάξω ένα twitter bot, που να κάνει tweet γεγονότα του παρελθόντος που συνέβησαν σαν σήμερα. Τελικά, για να μην καταλήξει και αυτό το project μισοτελειωμένο, αποφάσισα να κάνω κάτι που στη πορεία αποδείχτηκε πιο εύκολο, να κάνω tweet όσους γεννήθηκαν σαν σήμερα (το προτίμησα από το να κάνω tweet αυτούς που πέθαναν σαν σήμερα).
Η υλοποίηση
Για την υλοποίηση του bot χρησιμοποίησα τη γλώσσα Ruby, καθώς και πολλές έτοιμες βιβλιοθήκες. Η πηγή των δεδομένων μου είναι η ελληνική wikipedia. Προφανώς φτιάχτηκε και χρησιμοποιείται λογαριασμός στο Twitter (και το API του). Το bot φιλοξενείτε σε έναν shared server της Dreamhost (όπως και αυτό το blog) και με το cron έχει προγραμματιστεί να τρέχει κάθε 1 ώρα (στις και μισή) και να κάνει από 1 tweet.
Δια ταύτα
Η κατασκευή του bot αποτέλεσε ένα ενδιαφέρον και σχετικά εύκολο project. Μου έδωσε την ευκαιρία να χρησιμοποιήσω διάφορα εργαλεία και να μάθω καινούρια πράγματα.
Έμαθα να χρησιμοποιώ το API της wikipedia και να διαβάζω τα δεδομένα (σε JSON μορφή) που μου επιστρέφει. Χρησιμοποίησα και πήρα μια γεύση από διάφορα gems της Ruby. Χρησιμοποίησα το API του Twitter (αν και χρησιμοποιώντας το twitter gem δεν ήρθα και πολύ σε άμεση επαφή με το API). Επίσης έμαθα κάποια καινούρια κολπάκια με το cron καθώς και πως να καταφέρω να εγκαταστήσω τη Ruby 2 σε έναν shared Dreamhost server.
Το επόμενο βήμα θα είναι να συγυρίσω λίγο το κώδικα του bot και να τον δημοσιεύσω ως open source (αν και είμαι σίγουρος ότι υπάρχουν ήδη πολλά αντίστοιχα bots διαθέσιμα). Άλλωστε, ακόμα και έτσι όπως είναι τώρα το bot, μπορεί άνετα να χρησιμοποιηθεί για να κάνει tweet, αρκεί κάποιος να του δώσει τα κατάλληλα δεδομένα και τα στοιχεία για να συνδεθεί στο twitter.
Αν μπορέσω να βρω χρόνο, θέλω κάποια στιγμή να γράψω πιο αναλυτικά όλη την διαδικασία ανάπτυξης και το τρόπο λειτουργίας της εφαρμογής. Οι πιθανότητες να συμβεί αυτό (αλλά και η δημοσίευση ως open source) θα αυξηθούν κατακόρυφα αν δω ότι υπάρχει ενδιαφέρον.
Και μην ξεχάσετε να το κάνετε follow για να μαθαίνετε ποιοί γεννήθηκαν σαν σήμερα!
Μία σκέψη στο “Γεννήθηκαν “Σαν σήμερα” – Twitter bot”