Tijs Botmans

Tijs Botmans is m'n eigen twitterbot die ik op een Raspberry Pi heb gemaakt. Tijs Botmans tweet gemiddeld ieder uur een willekeurige zooi woorden die samengesteld zijn vanuit @TijsHofmans. Hier is een kort artikeltje over hoe je zelf zo'n bot kunt bouwen.

De bot bouwen

Maak een nieuwe Twitter-account, en zorg dat je daar een telefoonnummer aan toevoegt (anders wordt hij niet geaccepteerd

Maak vervolgens ook een developer-account aan op Twitter. Je hebt daarbij een applicatie nodig, die je maakt via apps.twitter.com -> 'Create New App'. Let ook op dat je een nieuwe access token maakt onder 'Keys and Access Tokens' -> 'Create my access token'. De gegevens heb je later nodig bij het instellen van de bot.

Ik heb de bot gebaseerd op de scripts van Tom Meagher. Je kunt die repo's downloaden op GitHub. Download de .zip en unpack die.

Pas het bestand locat_settings_examply.py aan en verander de volgende gegevens in het bestand:

De belangrijkste optie is echter 'ODDS = 4'. Dat cijfer kun je veranderen om de bot meer of minder te laten tweeten. De bot tweet op basis van een randomizer. Dat betekent dat je bij iedere tweet een random cijfer aanmaakt op basis van 1 t/m 8. In 4 van de 8 gevallen, (dus de helft van alle keren) plaatst de bot een tweet, de andere keer niet. Dat is bedoeld om Twitter niet vol te spammen, maar als je je bot méér wil laten tweeten verander je deze 4 in een 8. Wil je 'em minder laten tweeten, dan maak je er een 1 van, of pak een cijfer in het midden.

Let wel op: Soms wil Tijs Botmans een te lange tweet plaatsen, of een tweet die teveel lijkt op de vorige, en in dat geval wordt de tweet sowieso niet geplaatst. Als resultaat tweet Tijs Botmans in de praktijk nog steeds niet ieder uur, dus zelfs als je dit op 8 zet krijg je niet de spam.

Heroku

Tijs Botmans draait via een developer-account op Heroku. Om een verified dev-account te hebben moet je helaas een creditcard opgeven, maar dat is alleen ter verificatie en ik heb er nooit een cent aan uitgegeven.

Je moet eerst de Heroku Toolbelt downloaden en installeren op je systeem. Daarna stel je git in voor die map (eerst sudo apt-get install git), door er naartoe te cd'en en de volgende commando's in te voeren:

git init
git add .
git commit -am "Add all files"


Daarna geef je Heroku de mogelijkheid de bot te runnen:

heroku create --stack cedar
git push


Vervolgens voeg je de files voor de bot toe aan Heroku. Cd daarvoor eerst naar de folder met je files, en gebruik de volgende commando's:

git add local_settings.py
git commit -am "Update local_settings.py"
git push heroku master


Deze drie commando's moet je iedere keer opvoeren als je de bot aanpast, bijvoorbeeld door de randomizer te wijzigen.

Met het commando 'heroku run worker' laat je de bot handmatig iets zeggen, wat handig is als je wil checken of hij werkt. Anders gooit de bot er ieder uur een update uit, en aan de hand van de randomizer resulteert dat in een tweet of juist niet.

Als je alles goed hebt gedaan, heb je nu je eigen Twitter-bot gemaakt. Gefeliciteerd! Hou 'em alleen wel in de gaten en waak voor de singulariteit...