Ξεκινήστε με το Node.js και δημιουργήστε ένα bot bot που tweets φωτογραφίες και πληροφορίες χρησιμοποιώντας μόνο Raspberry Pi!

Πώς να οικοδομήσουμε μια φωτογραφία Tweeting Twitter Bot με Raspberry Pi και Node.js

Διαφήμιση Ψάχνετε για έναν τρόπο να κάνετε το Twitter πιο χρήσιμο, αν μόνο για άλλους ανθρώπους; Ένας τρόπος είναι να δημιουργήσετε ένα αυτοματοποιημένο bot bot το οποίο θα tweets εικόνες με χρήσιμες περιγραφές. Θα μπορούσατε να το κάνετε αυτό με το χέρι ... ή μπορείτε να το φτιάξετε με το Node.js και να το φιλοξενήσετε σε Raspberry Pi. Διαβάστε παρακάτω για να μάθ

Διαφήμιση

Ψάχνετε για έναν τρόπο να κάνετε το Twitter πιο χρήσιμο, αν μόνο για άλλους ανθρώπους; Ένας τρόπος είναι να δημιουργήσετε ένα αυτοματοποιημένο bot bot το οποίο θα tweets εικόνες με χρήσιμες περιγραφές. Θα μπορούσατε να το κάνετε αυτό με το χέρι ... ή μπορείτε να το φτιάξετε με το Node.js και να το φιλοξενήσετε σε Raspberry Pi. Διαβάστε παρακάτω για να μάθετε πώς.

Γιατί να οικοδομήσουμε ένα Twitter Bot;

Tweeting φωτογραφίες με ένα bot

Εάν είχατε ποτέ βρεθεί στο Twitter και βλέπετε λογαριασμούς που δημοσιεύουν φωτογραφίες ή γεγονότα ή κινούμενα σχέδια κ.λπ., τότε είναι πολύ πιθανό ότι αυτοί είναι αυτοματοποιημένοι. Είναι ένας πολύ καλός τρόπος να δημιουργηθεί ένα κοινό που ενδιαφέρεται για το ίδιο θέμα.

Υπάρχει όμως και ένας άλλος λόγος, πέρα ​​από τις επαναλήψεις και ακολουθεί. Η οικοδόμηση ενός bot bot θα σας διδάξει μερικές χρήσιμες δεξιότητες προγραμματισμού. Έχουμε εξετάσει στο παρελθόν πώς να οικοδομήσουμε ένα βασικό bot bot με Python Πώς να οικοδομήσουμε ένα Raspberry Pi Twitter Bot Πώς να οικοδομήσουμε ένα Raspberry Pi Twitter Twitter Το Twitter είναι ο μεγαλύτερος παγκόσμιος αποθετήριο σύντομων μηνυμάτων από ανθρώπους που δεν έχουν τίποτα να πουν - επίσης μπορεί να συμβάλει σε αυτό το επικό έργο με ένα αυτοματοποιημένο bot bot, που τροφοδοτείται από Raspberry σας ... Διαβάστε περισσότερα (επίσης σε ένα Raspberry Pi), αλλά αυτή τη φορά παίρνουμε μια διαφορετική προσέγγιση.

Σε αυτό το έργο, πρόκειται να χρησιμοποιήσουμε το Node.js για να φτιάξουμε ένα bot bot με φωτογραφίες σε ένα Raspberry Pi. Οι φωτογραφίες θα είναι φωτογραφίες από τον Πρώτο Παγκόσμιο Πόλεμο, συνοδευόμενες από μια σύντομη πρόταση και αναφορά). Αυτές οι πληροφορίες θα αποθηκευτούν σε έναν πίνακα, μια βασική βάση δεδομένων. Τι είναι λοιπόν μια βάση δεδομένων; [MakeUseOf Εξηγεί] Έτσι τι είναι μια βάση δεδομένων, ούτως ή άλλως; [Explications MakeUseOf] Για έναν προγραμματιστή ή έναν ενθουσιώδη τεχνολογίας, η έννοια μιας βάσης δεδομένων είναι κάτι που μπορεί πραγματικά να θεωρηθεί δεδομένο. Ωστόσο, για πολλούς, η ιδέα της ίδιας της βάσης δεδομένων είναι λίγο ξένη .... Διαβάστε περισσότερα.

Ξεκινήστε: Δημιουργήστε τη βάση δεδομένων σας

Εάν θέλετε να δημιουργήσετε ένα bot bot tweeting, θα πρέπει να ξεκινήσετε συγκεντρώνοντας τις εικόνες που θέλετε να μοιραστείτε. Αυτά θα πρέπει να είναι είτε οι δικές σας εικόνες, είτε αυτές που έχετε αποκτήσει με Creative Commons ή κάποια άλλη άδεια ανοιχτού κώδικα.

Θα πρέπει επίσης να σημειώσετε την απόδοση και άλλες πληροφορίες που θέλετε να μεταφέρετε με τις εικόνες. Θα επιστρέψουμε σε αυτές τις πληροφορίες αργότερα, μόλις το bot είναι έτοιμο.

Εγκαταστήστε το Node.js στο Raspbian

Ξεκινήστε με την εγκατάσταση του Node.js. Θα πρέπει να έχετε ήδη ένα Raspberry Pi εγκατεστημένο και εγκατεστημένο με Raspbian Πώς να εγκαταστήσετε ένα λειτουργικό σύστημα σε ένα Raspberry Pi Πώς να εγκαταστήσετε ένα λειτουργικό σύστημα σε ένα Raspberry Pi Εδώ είναι πώς να εγκαταστήσετε ένα λειτουργικό σύστημα στο Raspberry Pi σας και πώς να κλωνοποιήσετε το τέλειο Εγκατάσταση για γρήγορη αποκατάσταση καταστροφών. Διαβάστε περισσότερα . Για αυτό το έργο, συνιστούμε ένα Raspberry Pi 2 ή αργότερα? το έργο δοκιμάστηκε στο Raspberry Pi 3 B + Πώς να αποφασίσετε εάν χρειάζεστε το Raspberry Pi 3 B + Μοντέλο Πώς να αποφασίσετε εάν χρειάζεστε το Raspberry Pi 3 B + Μοντέλο Πόσο κοστίζει το Raspberry Pi 3 B +, τι προδιαγραφή έχει, και θα βελτιώσει τα υπάρχοντα έργα σας; Διαβάστε περισσότερα .

Στο τερματικό (ή μέσω SSH VNC, SSH και HDMI: Τρεις επιλογές για την προβολή του Raspberry σας Pi VNC, SSH και HDMI: Τρεις επιλογές για την προβολή του Raspberry Pi σας Το Raspberry Pi είναι ένας αξιοσημείωτος μικρός υπολογιστής, αλλά μπορεί να χρονοβόρο να ρυθμίσετε συνδέστε το με την οθόνη σας, Διαβάστε περισσότερα), ενημερώστε τη λίστα πακέτων συστήματος και αναβαθμίστε στην πιο πρόσφατη έκδοση:

 sudo apt-get update sudo apt-get dist-upgrade 

Ακολουθήστε την εντολή στην οθόνη και περιμένετε μέχρι να ενημερωθεί το Pi. Μόλις τελειώσετε, επανεκκινήστε με

 sudo reboot 

Μόλις τελειώσετε, χρησιμοποιήστε το κούμπωμα για να κατεβάσετε το Node.js:

 curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - 

Στη συνέχεια, εγκαταστήστε το με

 sudo apt-get install -y nodejs 

Όταν ολοκληρωθεί η διαδικασία, εκτελέστε έλεγχο για να βεβαιωθείτε ότι το λογισμικό έχει εγκατασταθεί σωστά. Το πιο εύκολο είναι να ελέγξετε για τον αριθμό έκδοσης:

 node -v 

Η απάντηση θα πρέπει να είναι κάτι σαν το v8.11.3 (ή υψηλότερο). Αν δείτε κάτι τέτοιο, μπορείτε να είστε βέβαιοι ότι το Node.js είναι έτοιμο για χρήση.

Δημιουργήστε το Twitter Twitter σας

Το επόμενο στάδιο είναι η εισαγωγή του κώδικα που θα δημιουργήσει το bot. Ξεκινήστε δημιουργώντας έναν κατάλογο:

 mkdir twitterbot 

Στη συνέχεια, αλλάξτε το στο νέο κατάλογο για το bot σας:

 cd twitterbot 

Εδώ, δημιουργήστε ένα αρχείο που ονομάζεται server.js

 sudo nano server.js 

Σε αυτό το αρχείο, εισάγετε μια γραμμή:

 console.log('I am a Twitter bot!'); 

Πατήστε Ctrl + X για αποθήκευση και έξοδο, στη συνέχεια εκτελέστε το σενάριο:

 node '/home/pi/twitterbot/server.js' 

Αυτό θα πρέπει να επιστρέψει τη φράση "Είμαι ένα bot bot!". Τώρα που έχετε επιβεβαιώσει ότι αυτό λειτουργεί, είναι καιρός να εγκαταστήσετε τη βιβλιοθήκη Twit με npm (το Node Package Manager ). Βεβαιωθείτε ότι αυτό είναι εγκατεστημένο εισάγοντας:

 npm -v 

Και πάλι, θα πρέπει να δείτε έναν αριθμό έκδοσης που εμφανίζεται.

Ακολουθήστε αυτό με:

 npm init 

Αυτό αρχίζει με την προτροπή σας για πληροφορίες σχετικά με την εφαρμογή Node.js που δημιουργείτε. Οι προεπιλεγμένες επιλογές εμφανίζονται (όπως αυτό), ώστε να μπορείτε να πατήσετε απλώς Enter για να τις αποδεχτείτε. Μπορείτε επίσης να εισαγάγετε τις δικές σας λεπτομέρειες. Μόλις ολοκληρωθεί αυτή η ρύθμιση, θα σας ζητηθεί να επιβεβαιώσετε τα στοιχεία με "ναι".

Το επόμενο στάδιο είναι να εγκαταστήσετε τη μονάδα Twit από το npm.

 npm install twit --save 

Περιμένετε μέχρι να μεταφορτωθούν τα αρχεία στον υποκατάλογο node_modules. Αφού γίνει αυτό, ανοίξτε ξανά το αρχείο server.js στο nano.

 sudo nano server.js 

Εδώ, διαγράψτε την εντολή που καταχωρίσατε νωρίτερα, αντικαθιστώντας την με:

 var fs = require('fs'), path = require('path'), Twit = require('twit'), config = require(path.join(__dirname, 'config.js')); 

Αποθηκεύστε και βγείτε όπως πριν.

Δημιουργήστε μια εφαρμογή Twitter

Για να δημιουργήσετε ένα λειτουργικό bot bot, θα χρειαστεί να δημιουργήσετε μια εφαρμογή Twitter. Αυτή είναι μια απλή διαδικασία, η οποία απαιτεί πρώτα να εγγραφείτε για ένα νέο λογαριασμό στο Twitter. Λάβετε υπόψη ότι αυτό απαιτεί επίσης έναν αριθμό τηλεφώνου για την επαλήθευση του λογαριασμού και μόλις γίνει αυτό, κατευθυνθείτε στο developer.twitter.com για να δημιουργήσετε την εφαρμογή.

Εάν δεν διαθέτετε λογαριασμό προγραμματιστή, αυτό μπορεί να διαρκέσει αρκετό καιρό, καθώς υπάρχει μια συγκεκριμένη ποσότητα φόρμας πλήρωσης που απαιτείται. Αυτό είναι ένα βήμα που έχει κάνει το Twitter για να αποφύγει τα ανεπιθύμητα μηνύματα, γι 'αυτό πάρτε το χρόνο σας και απαντήστε με ακρίβεια στις ερωτήσεις.

Κάντε κλικ στην επιλογή Δημιουργία μιας εφαρμογής και προσθέστε τα στοιχεία που ζητήσατε. Κατά το χρόνο της γραφής, το σύστημα προγραμματιστών βρίσκεται υπό επανεξέταση, οπότε μπορεί να χρειαστεί να περιμένετε λίγες μέρες (και να απαντήσετε σε μερικές επιπλέον ερωτήσεις).

Δημιουργήστε μια εφαρμογή στο Twitter

Στη συνέχεια, μεταβείτε στην καρτέλα Κλειδιά και Σήματα και κάτω από την επιλογή Δικαιώματα, εντοπίστε την άδεια πρόσβασης και βεβαιωθείτε ότι είναι ρυθμισμένη στην επιλογή Ανάγνωση και εγγραφή (χρησιμοποιήστε την επιλογή Επεξεργασία εάν δεν υπάρχει). Στη συνέχεια, μεταβείτε στα Πλήκτρα και στα Σημεία και σημειώστε τα εξής:

  • Καταναλωτικό κλειδί
  • Μυστικό των καταναλωτών

Στο πλαίσιο του δικαιώματος πρόσβασης, κάντε κλικ στην επιλογή Δημιουργία για να δημιουργήσετε:

  • Διακριτικό πρόσβασης
  • Πρόσβαση μυστικού μυστικού

Αυτά είναι τα κλειδιά API που θα χρειαστείτε για να δώσετε πρόσβαση στο bot στο λογαριασμό σας στο Twitter.

Πίσω στη γραμμή εντολών, δημιουργήστε το config.js στο nano:

 sudo nano config.js 

Προσθέστε τα παρακάτω

 var config = { consumer_key: 'XXXXX', consumer_secret: 'XXXXX', access_token: 'XXXXX', access_token_secret: 'XXXXX' } module.exports = config; 

Όπου διαβάζει το μήνυμα "XXXXX", αντικαταστήστε τις αντίστοιχες λεπτομέρειες κλειδιού API.

Προσθέστε τις συμβολοσειρές κλειδιών που δημιουργούνται από το Twitter στο αρχείο ρυθμίσεων

Αποθηκεύστε και κλείστε, κατόπιν ανοίξτε το server.js.

 sudo nano server.js 

Εδώ, προσθέστε τις ακόλουθες γραμμές στο τέλος του αρχείου:

 var T = new Twit(config); T.post('statuses/update', { status: 'My first tweet!' }, function(err, data, response) { console.log(data) }); 

Θα πρέπει να μοιάζει με αυτό:

Αυτός ο κώδικας θα σας προτρέπει να στείλετε ένα tweet.

Και πάλι, αποθηκεύστε και εξόδου, στη γραμμή εντολών, πληκτρολογήστε

 node server.js 

Ανοίξτε το λογαριασμό σας Twitter στο πρόγραμμα περιήγησης για να δείτε τα αποτελέσματα:

Ένα δοκιμαστικό τιτίβισμα στάλθηκε χρησιμοποιώντας τον κώδικα Node.js

Έχετε επιβεβαιώσει ότι το bot είναι tweeting, οπότε ήρθε η ώρα να του δώσετε κάτι να κάνετε!

Δημιουργήστε τον φάκελο των εικόνων

Για να τιτλοποιήσετε φωτογραφίες, αντιγράψτε τις εικόνες που συλλέξατε σε ένα φάκελο (συνήθως ονομάζονται εικόνες ). Ξεκινήστε με δώδεκα περίπου.

Στη συνέχεια, επιστρέψτε στο έγγραφο server.js:

 sudo nano server.js 

Εδώ, αφαιρέστε τον κώδικα που έστειλε το tweet, τη γραμμή που αρχίζει το T.post ('statuses / update').

Στη συνέχεια, αντικαταστήστε το με μια λειτουργία που ονομάζεται random_from_array . Αυτό θα πάρει τυχαία μια εικόνα από το φάκελο εικόνων.

 function random_from_array(images){ return images[Math.floor(Math.random() * images.length)]; } 

Αφού το κάνετε αυτό, θα πρέπει να προσθέσετε μια δεύτερη λειτουργία, upload_random_image :

 function upload_random_image(images){ console.log('Opening an image...'); var image_path = path.join(__dirname, '/images/' + random_from_array(images)), b64content = fs.readFileSync(image_path, { encoding: 'base64' }); console.log('Uploading an image...'); T.post('media/upload', { media_data: b64content }, function (err, data, response) { if (err){ console.log('ERROR:'); console.log(err); } else{ console.log('Image uploaded!'); console.log('Now tweeting it...'); T.post('statuses/update', { media_ids: new Array(data.media_id_string) }, function(err, data, response) { if (err){ console.log('ERROR:'); console.log(err); } else{ console.log('Posted an image!'); } } ); } }); } 

Αυτή η λειτουργία επιλέγει τυχαία μια εικόνα από το φάκελο εικόνων και μόλις επιλεγεί μεταφορτωθεί στο Twitter χρησιμοποιώντας το API μέσων / μεταφόρτωσης.

Στη συνέχεια, προσθέστε τον ακόλουθο κώδικα. Αυτό θα βρει τον κατάλογο εικόνων και θα τραβήξει μια εικόνα από αυτό, τοποθετώντας ένα τυχαία κάθε 60 δευτερόλεπτα. Μπορείτε να επεξεργαστείτε (και να επεξεργαστείτε) αυτό το χρονισμό, το οποίο αναπαριστάται στον κώδικα με το σχήμα 60000. Συνιστάται να διατεθούν μεγαλύτερα κενά.

  setInterval(function(){ upload_random_image(images); }, 60000); } }); 

Αποθηκεύστε αυτό με Ctrl + X, στη συνέχεια Ναι για αποθήκευση. (Μπορείτε να βρείτε τον πλήρη κώδικα για αυτό το έργο στο GitHub).

Μια μόνο χρήση της εντολής server.js κόμβου θα προτρέψει τις φωτογραφίες να ξεκινήσουν το tweeting! (Εάν χρειάζεται να τερματίσετε τις θέσεις, πιέστε Ctrl + Z για να ακυρώσετε το script server.js.)

Προσθέτοντας κείμενο στα Tweets Photo σας

Αν χρειάζεται να προσθέσετε κείμενο στις εικόνες σας, αυτό μπορεί να γίνει χρησιμοποιώντας έναν πίνακα. Ο πίνακας θα αναφέρεται στα ονόματα αρχείων των εικόνων και θα απαριθμεί το κείμενο που θα πρέπει να προστεθεί. Για παράδειγμα, μπορείτε να προσθέσετε την απόδοση σε εικόνες που δεν έχετε τραβήξει. Ή μπορείτε να προσθέσετε κάποια γεγονότα ή ένα απόσπασμα.

Ένα bot bot μπορεί να δημοσιεύει φωτογραφίες και κείμενο

Ξεκινήστε δημιουργώντας images.js

 sudo nano images.js 

Εδώ, προσθέστε τον ακόλουθο κώδικα. Αυτός είναι ένας πίνακας, με δύο στοιχεία, αρχείο και πηγή. Αυτά κρατούν το όνομα αρχείου της εικόνας και την απόδοση (συνήθως μια διεύθυνση URL).

 var images = [ { file: 'image0001.png', source: 'http://www.example.com/image0001.png' }, { file: 'image0002.png', source: 'http://www.example.com/image0002.png' }, ] 

Επαναλάβετε όπως είναι απαραίτητο για κάθε εικόνα και, στη συνέχεια, τερματίστε το αρχείο images.js με:

 module.exports = images; 

Αποθηκεύστε και κλείστε το αρχείο και ανοίξτε ξανά το server.js και προσθέστε το στη λίστα των μεταβλητών:

 images = require(path.join(__dirname, 'images.js')); 

Αποθηκεύστε και κλείστε, στη συνέχεια, κάντε ξανά την επανεκκίνηση του bot bot με την εντολή server.js κόμβου .

Μπορείτε επίσης να χρησιμοποιήσετε το πεδίο "πηγή" για να συμπεριλάβετε κάποιο κείμενο, εξηγώντας το φόντο της εικόνας. Αυτό μπορεί να συμπεριληφθεί δίπλα στη διεύθυνση URL.

Το πρώτο σας Twitter Twitter, έτοιμο να επαναχρησιμοποιηθεί!

Μέχρι τώρα, θα πρέπει να έχετε ένα auto-posting bot bot που λειτουργεί και να μοιράζεται φωτογραφίες, γεγονότα και ιδιότητες στο συγκεκριμένο σας θέμα.

Συνοψίζοντας, η διαδικασία είναι:

  • Συλλέξτε τις φωτογραφίες σας
  • Εγκαταστήστε το Node.js
  • Δημιουργήστε το bot σας Twitter
  • Υποβάλετε αίτηση για την κατάσταση προγραμματιστή στο Twitter
  • Δημιουργήστε μια εφαρμογή Twitter
  • Προσθέστε μια διάταξη απόδοσης
  • Ξεκινήστε το tweeting!

Ίσως το καλύτερο πράγμα γι 'αυτό είναι ότι ο κώδικας μπορεί να χρησιμοποιηθεί για να tweet φωτογραφίες, γεγονότα και χαρακτηριστικά σε κυριολεκτικά οποιοδήποτε θέμα.

Θέλετε να μάθετε ποια άλλα bots θα μπορούσατε να εκτελέσετε με παρόμοια ρύθμιση; Ελέγξτε τη λίστα μας με τα καλύτερα προγράμματα Twitter για το Raspberry Pi 10 Best Twitter Projects για το Raspberry Pi 10 Best Twitter Projects για το Raspberry Pi Διαβάστε περισσότερα!

Εξερευνήστε περισσότερα σχετικά με: DIY Project Tutorials, JavaScript, Raspberry Pi, Twitter.