I fredags knĂ„pade jag ihop en twitterbot som en gĂ„ng om dagen twittrar ett konstverk av Fritz von Dardel (1817â1901). TĂ€nkte berĂ€tta hur jag gjorde sĂ„ att det blir enklare för nĂ€sta person som vill bygga en twitterbot med konstverk hĂ€mtade frĂ„n Digitalt museum.
FrÄn idé till twitterbot i fem (nÄgorlunda) enkla steg!
- Skapa twitterkonto och twitterapp
- Kopiera kod pÄ Glitch
- HÀmta data frÄn Digitalt museum
- StÀll in ett cronjob
- Luta dig tillbaka och njut av konst i twitterflödet!
1. Skapa twitterkonto och twitterapp
Sajten đ€ Botwiki.org har en hel del matnyttigt för den som vill bygga bottar (olika sorters hel- eller halvautomatiserade konton pĂ„ sociala medier). Följ guiden How to create a Twitter app tills du har twitterkonto, utvecklarkonto och en registerad app.
2. Kopiera kod pÄ Glitch
Sajten đ Glitch Ă€r en blandning av kodbibliotek och webbhotell, dĂ€r den kod du skriver byggs och körs i realtid. Det Ă€r dessutom vĂ€ldigt enkelt att remixa (dvs kopiera och Ă€ndra) nĂ„gon annans kod. Och det Ă€r precis vad vi ska göra!
Jag har remixat ett âstarter kitâ för twitterbotar och gjort nĂ„gra anpassningar, sĂ„ det Ă€r bĂ€ttre att utgĂ„ frĂ„n den fĂ€rdiga boten Fritz von Dardel. Följ lĂ€nken, leta rĂ€tt pĂ„ âremixâ-knappen och klistra sedan in dina twitterappuppgifter i filen som heter .env (se guiden âHow to create a Twitter appâ ovan).
3. HÀmta data frÄn Digitalt museum
Uppdaterad 3 mars 2020, tack Ulf Bodin
IstÀllet för att anropa Digitalt museum varje gÄng boten ska twittra har jag laddat hem data med hjÀlp av Digitalt museums API. Det innebÀr att eventuella Àndringar i samlingsposterna inte slÄr igenom förrÀn jag upprepar API-anropet.
Jag har anvÀnt följande anrop: http://api.dimu.org/api/solr/select?q=*&fq=identifier.owner:S-NM&fq=artifact.type:Photograph&fq=related_person_relations_uss:39c5797c-9b3a-4059-bc2c-5b1e2cd8b487&wt=json&rows=100&fl=artifact.uniqueId,artifact.ingress.title,artifact.defaultMediaIdentifier&api.key=demo
.
Anropet frÄgar efter fotografier i Nordiska museets samlingar dÀr fÀltet related_person_relations_uss
Ă€r 39c5797c-9b3a-4059-bc2c-5b1e2cd8b487. Det Ă€r ett sĂ„ kallat âUUIDâ, en unik identifierare som i det hĂ€r fallet motsvarar konstnĂ€ren Fritz von Dardel. Identifieraren kommer till Digitalt museum frĂ„n Nationalmuseums konstnĂ€rslista pĂ„ KulturNav.
FĂ„r att fĂ„ fler Ă€n 10 svar tillbaka behöver du en egen API-nyckel till Digitalt museum (istĂ€llet för âdemoâ sist i anropet). Kontakta KulturIT för att fĂ„ en nyckel.
Den data jag fick tillbaka har jag sparat i filen data.json
(och plockat bort min API-nyckel).
För att hĂ€mta bildfilerna har jagâŠ
- avkommenterat rad 4â8 i
server.js
& kopierat texten frĂ„n konsollen - öppnat Glitchappens terminal (finns under knappen âToolsâ)
- i mappen images kört den radda wget-kommandon som genererades i steg 1
- avkommenterat rad 10â14 i
server.js
& kopierat texten frÄn konsollen - i mappen images kört den radda wget-kommandon som genererades i steg 4
Nu Àr data, bildfiler och kod pÄ plats och du kan börja twittra!
Varje Glitchapp fĂ„r tillgĂ„ng till 200 MB lagringsutrymme vilket motsvarar ungefĂ€r 500 bilder i den upplösning (max 800Ă800 pixlar) jag valt.
4. StÀll in ett cronjob
PÄ sajten Cron-job.org har jag stÀllt in ett cronjob som körs en gÄng om dagen och anropar den endpoint som anges i glitchappens .env-fil, dvs https://fritzvondardel.glitch.me/ENDPOINT (dÀr du byter ut sista delen mot din egen endpoint). Appen har ingen autentisering sÄ om nÄgon annan listar ut din endpoint kan de twittra för fulla muggar!