Discord bot development met Tim Yarally

In deze aflevering van de podcast duiken we met Tim in de wereld van Discord bots. Luister de aflevering op Spotify, bekijk op YouTube of lees het onderstaande artikel. Je kunt de podcast ook terugvinden op alle andere platformen of apps waar je podcasts kunt luisteren door te zoeken op “Eonics Podcast”.

Software ontwikkelaar Tim Yarally is als werkstudent werkzaam bij zusterbedrijf NIXZ, waar hij werkt aan de bots van het automatiseringsplatform. In zijn vrije tijd werkt hij ook graag aan bots, maar dan voor een heel ander platform: Discord. Wat is Discord eigenlijk precies? Tim: “Discord is een platform vergelijkbaar aan Slack. Het wordt vooral gebruikt in de gaming-community. Zo heb ik twee verschillende Discord groepen waarin ik actief ben. Hier kan ik altijd met mijn vrienden kletsen en kun je makkelijk samen online gamen of Dungeons & Dragons spelen.”

Discord biedt een uitgebreide en goed gedocumenteerde API om bots te bouwen. Tim: “Toen ik eenmaal zag hoe je met bots verschillende taken in Discord kunt automatiseren werd ik nieuwsgierig en nam ik een kijkje in de documentatie. Het maken van bots voor Discord is eenvoudig dankzij de goede documentatie. Je kunt het in meerdere talen doen maar ik gebruik zelf TypeScript, dezelfde taal als die we ook bij het NIXZ team gebruiken.”

Hier zie je Tim zijn bot gebruiken om drie 20-zijdige dobbelstenen te rollen.

Het begon met twee simpele bots. Met de eerste kan je het gooien van een dobbelsteen simuleren in een chatkanaal, handig bij het spelen van Dungeons & Dragons. Daarna volgde een bot die dagelijks de game aanbiedingen van de Steam store ophaalt en deze in een samenvatting op Discord post. Zo kunnen Tim en zijn vrienden eenvoudig kijken of er iets voor hun bijzit.

Na deze eerste eenvoudige bots begon Tim aan een ambitieuzer project. Tim: “Met de Story Time Bot kun je op een moderne manier een oud spelletje van vroeger naspelen. Het idee is dat je met een ketting van mensen een verhaal maakt, iedereen schrijft een stukje wat volgt op het vorige stukje, zonder dat je het hele verhaal kunt zien. Aan het einde zie je alles bij elkaar en dan heb je meestal een heel grappig of juist idioot verhaal. Deze bot laat omstebeurt aan mensen het vorige stukje zien en vraagt je iets nieuws te typen, aan het einde kunnen alle deelnemers het resultaat bekijken.”

 

Hier zie je hoe de bot van Tim de dagelijkse aanbiedingen van Steam automatisch in je Discord laat zien.

Bij deze complexere bot liep Tim ook gelijk tegen grotere uitdagingen aan. Tim: “Vanwege de privacy regels kon ik eigenlijk niet de chatberichten zelf opslaan. Toen heb ik dus een systeem bedacht waarbij mensen via een unieke sleutel op een speciale website hun stukje tekst voor het verhaal kunnen achterlaten. Op deze manier hoef ik niet de Discord berichten zelf op te slaan en voorkom ik privacy issues.” Deze bot is trouwens niet alleen een succes in Tim’s eigen vriendengroep. Meer dan 100 Discord communities over de hele wereld gebruiken de Story Time Bot.

Het volgende project van Tim is nog niet publiekelijk beschikbaar maar hij is er al volop mee bezig. Tim: “De volgende bot wordt een text based RPG (Role Playing Game) waarbij je in je Discord vissen kunt vangen. Eens in de zoveel tijd komt er een random vis in je Discord, en wie als eerste deze vis probeert te vangen moet een klein puzzeltje oplossen, een soort doolhof in tekst, en als dat lukt heeft jouw karakter de vis gevangen. Het idee is dat je dan ook kunt zien welke vissen je allemaal al hebt gevangen en hoe zeldzaam deze zijn. Met deze basis heb ik dan nog allerlei ideeën hoe ik dit uit kan breiden en je jouw karakter meer vorm kunt geven.”

Nieuwsgierig geworden naar de bots van Tim? Neem een kijkje op zijn website via: helegoeiediscordbots.nl