Slik lagar du ein Twitter-bot

Åsmund H. Eikenes
Publisert
Oppdatert 24.05.2017 16:05

info

Denne artikkelen er eldre enn 1 år gamal. Det betyr at noko av informasjonen kan vere utdatert.

MÅL: Å få nokre linjer med kode til å sende ut meldingar på Twitter.

KORLEIS GÅ FRAM: Dersom du er av typen som forstår html-koding og likar å feilsøke plassering av semikolon, finst det fleire oppskrifter som viser deg korleis du lagar ein heimelaga Twitter-bot. Nokre lovar at det tek under 5 minutt, medan andre tilbyr enkel koding for nybyrjarar. Hos GitHub eller BotWiki finn du omfattande introduksjonar til meir kompliserte Twitter-botar.

Denne guiden er derimot komplett fri for koding. #TwitterBotsforDummies

Steg 1. Opprett ein Twitter-konto.

AasenBotProfil (1)

AasenBot skal fylle Twitter med meir nynorsk.

Steg 2. Finn ein idé for kva du vil at Twitter-boten skal gjere.

Oppsettet for å lage dei enklaste Twitter-botane tek i bruk webtenester som utfører kommandoar i respons til ein trigger: Dersom A skjer, kjem systemet til å gjere B. AasenBot har i oppgåve å re-tvitre alle tweets som inneheld ordet «nynorsk». Då må den først søke etter nye tweets med ordet «nynorsk», og dersom den finn ein eller fleire nye, skal den re-tvitre innhaldet.

AasenBot doblar dermed nynorsk-innhaldet på Twitter.

Steg 3. Opprett ein konto hos ei teneste som utfører ditt ønske for trigger og respons. Zapier og If This Then That (IFTTT) er to eksempel som lar deg koble saman den elektroniske kvardagen din.

Zapier let deg koble saman hundrevis av applikasjonar.

Desverre er det slik at Twitter sine retningslinjer gjer at Twitter-kontoar som nyttar Zapier eller IFTTT til automatisering ikkje får lov til å tvitre direkte til andre brukarar. Systemet vil automatisk fjerne @-ane.

Planen din om å sette opp ein bot som tvitrar «@realDonaldTrump DELETE YOUR ACCOUNT» kvar halvtime, kjem altså ikkje til å fungere (det gjer heller ikkje ein sinna-tweet til @HillaryClinton).

Dersom du insisterer på å gjere dette, lyt du gå hardare til verks, finne fram kommandolinja og utføre kodinga sjølv. Sjå her for guide.

Steg 4. Kople Twitter-kontoen til anten Zapier eller IFTTT.

Steg 5. Set opp trigger og respons.

Her er oppsettet for AasenBot:

1.     Søk på Twitter etter tweets med ordet «nynorsk» (inkluderer også #nynorsk).

2.     Re-tvitre den aktuelle tweeten.

Resultatet vart slik:

Hurra! IT WORKS!

2 minutt seinare:

Uups.

Det er altså behov for filtrering for å unngå ein evig loop av at AasenBot retvitrar seg sjølv som retvitrar seg sjølv (som retvitrar seg sjølv).

Eg sette difor opp følgande avgrensingar (hos Zapier formulert som «berre fortsett dersom ikkje…»):

Berre fortsett dersom dette ikkje er ein re-tweet

Berre fortsett dersom avsendar ikkje er Aasenbot

Berre fortsett dersom dette ikkje er eit svar på ein annan tweet

ZapierFilterOnlyContinueIf (1)

Dersom du betalar (samt den første månaden) let Zapier deg sette opp nokså avansert filtrering for Twitter-boten din.

På denne måten syt eg for at AasenBot berre re-tvitrar den same tweeten éin gong, samstundes som eg unngår at AasenBot re-tvitrar heile diskusjonar som inneheld «nynorsk». Det får vere grenser til spam frå AasenBot.

I tillegg fann eg ein finare måte å vise fram originaltweeten på.

ZapierSetUpTweet (1)

Til slutt kan du utforme Tweeten slik du vil.

Resultatet vart slik:

For å halde styr på den kunstig intelligente AasenBot har eg også satt Zapier til å gjere dei følgande to tinga kva gong AasenBot tvitrar:

1.     Lagre innhaldet i tweeten i eit Google Spreadsheet

2.     Sende mail til meg sjølv om at AasenBot har funne (og kjem til å tvitre) noko nytt

I løpet av tre veker har AasenBot tvitra nesten 250 gongar. Zapier har på same tid filtrert ut over 500 potensielle tweets.

AasenBot tvitrar utan å diskriminere mellom positive og negative utsegn om nynorsk.

Debatten om språket i Vestlandsregionen er også eit engasjerande tema for nynorskbrukarar og andre.

Lykke til med din eigen Twitter Bot!

NB! Etter ein månad gir ikkje Zapier tilgang til å lage oppsett med fleire steg utan å betale for det. Eg har difor måtte redusere kompleksiteten i korleis AasenBot tvitrar. Målet er fortsatt at AasenBot skal fylle Twitter med meir nynorsk!