ACTUALIZARE 20171102: De când această poveste a fost postată inițial în ianuarie 2017, au existat câteva lucruri care s-au schimbat odată cu depozitul de pe GitHub, dacă urmează să urmăriți, aș sugera să folosiți depozitul README.md coroborat cu această poveste pentru a salva orice confuzie.

Roboții de pe Twitter pot face mult mai mult decât doar hashtag-urile cu tendințe de spam și pot urmări necontenit utilizatorii.

Ia Alerte Twisst ISS bot, care vă trimite un mesaj direct ori de câte ori stația spațială internațională (ISS) va fi vizibilă la locația dvs.

Sau roboți de serviciu public precum Robot de cutremur, care transmite un tweet despre orice cutremur mai mare de 5,0 pe scara Richter pe măsură ce se întâmplă.

Și, desigur, un robot care tweetează poezia, poem.exe, împreună cu unul care va retweetează tweet-urile dvs. care, de asemenea, se întâmplă să fie un Haiku accidental.

Eu personal folosesc un bot pentru a-mi îmbunătăți @ScottDevTweets îmi place și re-tweetează subiectele în care sunt interesat.

# 100DaysOfCode provocarea comunității vă va felicita pentru că ați început provocarea # 100DaysOfCode și, din nou, când atingeți etape specifice.

De ce ar trebui sa aveti propriul bot pe Twitter
Utilizatorul robotului felicită

De asemenea, va răspunde cu încurajare dacă detectează sentimentul negativ (frustrarea) într-un tweet care are hashtagul # 100DaysOfCode în el.

1611779711 73 De ce ar trebui sa aveti propriul bot pe Twitter
Detectarea sentimentului de bot

O întrebare pe care mi se adresează destul de des în interviurile de angajare este „ce obțineți din lucrul cu tehnologia?” Întotdeauna răspund că „îmi place să automatizez sarcini repetitive pentru a-mi economisi timp, astfel încât să mă pot concentra pe alte lucruri. Îmi place sentimentul de realizare care vine odată cu faptul că m-am salvat ceva timp. ”

În cazul botului meu @ScottDevTweets, este de obicei un program de deschidere pentru o conversație cu o altă persoană care mă urmărește. Deci, botul poate iniția conversația, apoi pot continua de unde a rămas botul.

Având în vedere acest lucru, un bot este la fel de etic ca și persoana care l-a programat.

Dacă aveți îndoieli cu privire la etica robotului pe care îl construiți, verificați botwikisecțiunea de etică.

Deci, gata să începi? O.K. Să o facem!

Cum să construiești un bot Twitter în 30 de minute

O să folosești twit bibliotecă pentru a construi un bot Twitter. Îi va plăcea și retweetează orice specificați. De asemenea, va răspunde adepților dvs. cu o selecție de răspunsuri predefinite.

Înainte de a porni ceasul, va trebui să configurați câteva conturi configurate dacă nu le aveți deja.

De ce vei avea nevoie

Pasul 1: configurați o aplicație Twitter

Fie creați un cont Twitter nou, fie folosiți-vă propriul cont creați o nouă aplicație Twitter.

De exemplu, voi configura vechiul meu @DroidScott cont twitter, astfel încât să puteți urmări.

Asigurați-vă că adăugați numărul de telefon la contul dvs. Twitter înainte de a da clic pe Creați aplicația dvs. Twitter buton.

1611779711 689 De ce ar trebui sa aveti propriul bot pe Twitter

Acum ar trebui să vă aflați în secțiunea „Gestionarea aplicațiilor”, unde va trebui să luați notă de cheile dvs. Ar trebui să aveți deja „Cheia consumatorului (cheia API)” și „Secretul consumatorului (secret API)” deja disponibile.

Va trebui să derulați până în partea de jos a paginii și să faceți clic pe Creează-mi jetonul de acces pentru a obține „Access Token” și „Access Token Secret”, luați notă de toate cele patru de care veți avea nevoie atunci când configurați botul.

Pasul 2: configurați-vă mediul de dezvoltare

Pentru asta, voi spune doar folos Cloud9 întrucât poți să funcționezi în câteva minute cu unul dintre mediile Node.js prefabricate.

Rețineți că, dacă alegeți să utilizați Heroku și / sau Cloud9 IDE pentru a construi acest lucru (așa cum fac în acest ghid) în unele regiuni vi se va solicita să dați un număr de card de credit pentru a crea aceste conturi.

1611779712 498 De ce ar trebui sa aveti propriul bot pe Twitter

Configurați botul

În arborele proiectului ștergeți exemplele de fișiere de proiect ale client, package.json, README.md și server.js nu veți avea nevoie de ele, le puteți lăsa acolo dacă doriți.

În noul dvs. mediu Node.js c9 accesați terminalul și introduceți:

git clone https://github.com/spences10/twitter-bot-bootstrap

Structura proiectului

Arborele proiectului de mediu ar trebui să arate cam așa:

1611779712 849 De ce ar trebui sa aveti propriul bot pe Twitter

Dependențele nodurilor

Înainte de a configura botul, va trebui să instalăm dependențele, cd în folderul proiectului cu cd tw* asta te va muta la :~/workspace/twitter-bot-bootstrap (master) $ de la terminal introduceți:

npm install

Aceasta va instala toate dependențele listate în package.json fişier.

Dacă aveți erori, vă recomand să instalați dependențele una câte una din package.json fișier cu aceeași comandă și numele pachetului la sfârșit:

Iată un exemplu de dependencies în package,json fişier:

"dependencies": {    "dotenv": "^4.0.0",    "twit": "^2.2.5",    "unique-random-array": "^1.0.0",    "unirest": "^0.5.1"  }

Comanda npm pentru a le instala pe toate:

npm install --save dotenv twit unique-random-array unirest

Dacă primești WARN mesaje precum npm WARN package.json twitter-bot@1.0.0 No repository field acest lucru nu va rupe robotul, deci este sigur să îl ignorați.

Acum puteți configura botul. De la terminal introduceți:

npm init

Aceasta va configura fișierul package.json fișierul cu datele dvs., după cum doriți. Doar continuați să apăsați înapoi dacă sunteți mulțumit de valorile implicite.

Acum va trebui să adăugați cheile Twitter la .env fişier. Introduceți tastele în câmpurile corespunzătoare și salvați fișierul.

Dacă nu găsiți .env în structura de fișiere a proiectului dvs. c9, atunci va trebui să activați fișierul Show Hidden Filesopțiune. În vizualizarea fișierului selectați setările cog, apoi bifați Show Hidden Files opțiune dacă nu este deja bifată.

De ce ar trebui sa aveti propriul bot pe Twitter

SENTIMENT_KEY puteți obține o nouă cheie API la https://market.mashape.com/vivekn/sentiment-3 cheia ta este în REQUEST EXAMPLE

Aruncați o privire la gif, faceți clic pe link, înscrieți-vă sau conectați-vă mashape, Click pe node în panoul din dreapta și selectați cheia API, aceasta va fi în spațiul evidențiat <required> în gif.

1611779713 548 De ce ar trebui sa aveti propriul bot pe Twitter

Adăugați cheia API la .env fișier împreună cu cheile dvs. API Twitter?

Aici ar trebui să adăugați numele contului dvs. Twitter și cât de des doriți ca botul să ruleze retweet-ul și funcțiile favorite în câteva minute.

NOTĂ nici unul dintre .env articolele au ghilimele '' rotunjindu-le.

CONSUMER_KEY=Fw***********P9CONSUMER_SECRET=TD************CqACCESS_TOKEN=31**************UCACCESS_TOKEN_SECRET=r0************S2SENTIMENT_KEY=Gj************lFTWITTER_USERNAME=DroidScottTWITTER_RETWEET_RATE=5TWITTER_FAVORITE_RATE=5

Apoi puteți adăuga câteva cuvinte cheie în strings.js fișier pentru ceea ce doriți să căutați, precum și subinterogări.

1611779713 348 De ce ar trebui sa aveti propriul bot pe Twitter
adăugați șiruri de interogare și subinterogare de asemenea, puteți actualiza șirurile blocate pentru a bloca mai multe lucruri

Când adăugați șiruri de subinterogare, asigurați-vă că lăsați un spațiu la începutul șirului ' handy tip' devine concatenat pe 'node.js' la fel de node.js handy tip si nu node.jshandy tip.

Asta ar trebui să fie, du-te la terminal și intră npm start ar trebui să obțineți o ieșire:

1611779713 297 De ce ar trebui sa aveti propriul bot pe Twitter

Verificați contul Twitter:

1611779713 749 De ce ar trebui sa aveti propriul bot pe Twitter

Pasul 3: Configurarea Heroku

Super, acum avem un bot pe care îl putem testa pe mediul nostru de dezvoltare, dar nu îl putem lăsa acolo, va trebui să-l implementăm pe Heroku.

Dacă nu ați făcut acest lucru, configurați deja un Cont Heroku apoi selectați Creați o aplicație nouă din caseta derulantă din dreapta sus a tabloului de bord, în ecranul următor denumiți aplicația, dacă doriți, apoi faceți clic pe Creați aplicație.

1611779714 12 De ce ar trebui sa aveti propriul bot pe Twitter

Vi se vor prezenta tabloul de bord al aplicației și instrucțiuni pentru metoda de implementare.

1611779714 451 De ce ar trebui sa aveti propriul bot pe Twitter

Numele aplicației dvs. trebuie să fie afișat în partea de sus a tabloului de bord, veți avea nevoie de acest lucru atunci când vă conectați cu interfața din linia de comandă Heroku, pe care o vom folosi pentru a implementa aplicația dvs.

1611779715 327 De ce ar trebui sa aveti propriul bot pe Twitter

Heroku CLI

Vom implementa inițial prin interfața Heroku Command Line (CLI).

Pe terminalul de mediu c9, conectați-vă la Heroku [it should be installed by default]

heroku login

Introduceți acreditările:

cd twitter-bot-bootstrap git init heroku git:remote -a your-heroku-app-name

Implementați aplicația:

git add . git commit -am 'make it better' git push heroku master

Ar trebui să obțineți ieșirea de construire în terminal:

1611779715 864 De ce ar trebui sa aveti propriul bot pe Twitter

Apoi verificați ieșirea cu:

heroku logs -t

Toate bune? Misto! ?

Configurarea variabilelor Heroku

Acum că avem robotul pe Heroku, trebuie să adăugăm variabile de mediu pentru a stoca cheile noastre Twitter. Acest lucru se datorează faptului că .env fișierul în care am stocat cheile noastre este listat în .gitignore fișier, care îi spune git să nu încarce fișierul respectiv în Heroku. De asemenea, face acest lucru, dacă în viitor dorim să adăugăm codul nostru la GitHub, nu trebuie să ne facem griji cu privire la .env fișierul făcând cheile noastre publice, deoarece fișierul va fi automat ignorat.

Tot ce trebuie să faceți este să mergeți la consola aplicației Heroku și să selectați secțiunile „Setări” și să adăugați cheile dvs. Twitter din .env fişier. Faceți clic pe butonul „Reveal Config Vars” și adăugați variabilele cu valorile lor corespunzătoare:

CONSUMER_KEYCONSUMER_SECRETACCESS_TOKENACCESS_TOKEN_SECRETSENTIMENT_KEY

Odată ce ați configurat varsurile Heroku, aruncați o privire la config.js fișierul acestui proiect. Veți șterge această linie:

require('dotenv').config();

Acum sunteți gata să vă implementați din nou pe Heroku. Comenzile consolei dvs. ar trebui să arate cam așa:

$ git add .$ git commit -m 'add environment variables'$ git push heroku master

Apoi, puteți verifica din nou jurnalele Heroku cu:

$ heroku logs -t

Acum ar trebui să aveți un bot pe care îl puteți lăsa pentru a-și face treaba pentru totdeauna sau până când decideți că doriți să modificați criteriile de căutare?

Implementarea Heroku prin GitHub

De asemenea, vă puteți implementa aplicația conectându-vă la GitHub și implementarea automată la Heroku de fiecare dată când filiala dvs. principală este actualizată pe GitHub, acest lucru este suficient de simplu.

Accesați tabloul de bord „Deploy” de pe Heroku, selectați GitHub ca metodă de implementare dacă v-ați conectat contul GitHub la contul Heroku, apoi puteți căuta depozitul, deci dacă ați bifat această repo, atunci puteți doar să introduceți twitter-bot-bootstrap și Căutare puteți face clic pe butonul Conectați , puteți apoi să implementați automat din GitHub.

1611779716 69 De ce ar trebui sa aveti propriul bot pe Twitter

Depanare Heroku

Ce vrei să spui că s-a prăbușit !?

1611779716 988 De ce ar trebui sa aveti propriul bot pe Twitter

Ok, am constatat că uneori worker este setat ca web și se blochează, încercați să setați worker din nou cu:

heroku ps:scale worker=0 heroku ps:scale worker=1

Dacă acest lucru se blochează, încercați să setați Resources pe tabloul de bord Heroku, am găsit dacă comutați între web, heroku și worker de obicei se așează. Practic trebuie să fiți setat la worker Dyno, aceasta este cauza Error R10 (Boot timeout) se blochează deoarece încearcă să utilizeze una dintre celelalte resurse atunci când ar trebui să utilizeze worker Dyno.

1611779717 494 De ce ar trebui sa aveti propriul bot pe Twitter

Alte comenzi utile Heroku pe care le folosesc:

heroku restart

În mod implicit, puteți să împingeți ramura principală numai dacă lucrați la o ramură de dezvoltare, adică dev ramură. Dacă doriți să testați pe Heroku, puteți folosi:

git push heroku dev:master

Sfat la îndemână

Dacă doriți să adăugați acest lucru la propriul depozit GitHub și nu doriți să partajați cheile API? cu lumea, atunci ar trebui să dezactivați urmărirea pe.env fişier. De la terminal introduceți această comandă git:

$ git update-index --assume-unchanged .env

Am adăugat cea mai folosită comandă git pe care o folosesc în acest sens esențial

Înfășurându-se

Botul dvs. Twitter ar trebui să fie acum live. Puteți să-l faceți și să îl configurați în continuare.

Iată a mea repertoriu dacă doriți să o bifurcați și să contribuiți înapoi utilizând cereri de extragere. Orice contribuții mari sau mici – caracteristici majore, remedieri de erori, teste de integrare – sunt binevenite, dar vor fi examinate și discutate cu atenție.

Mulțumiri

Creditul pentru inspirația pentru acest lucru ar trebui să meargă @amanhimself și postările sale despre crearea propriului bot de twitter.

creați-un-simplu-twitter-bot-cu-nod-js

cum-se-face-un-twitter-bot-cu-nodejs

twitter-mctwitbot

awesome-twitter-bots

Alte postări care detaliază roboții Twitter utili.

www.brit.co/twitter-bots-to-follow

www.hongkiat.com/using-twitter-bots

Ați ajuns până aici? Uau, mulțumesc pentru lectură! Dacă v-a plăcut această poveste, vă rugăm să nu uitați să o recomandați făcând clic pe butonul ❤ din lateral și partajând-o cu prietenii dvs. prin intermediul rețelelor sociale.

Dacă doriți să aflați mai multe despre mine, vizitați-l pe blog, Ale mele Github, sau trimite-mi un tweet @ScottDevTweets.

Puteți citi alte articole de genul acesta pe blogul meu.