Dolfje

Uit Met Nerds om Tafel - Wiki
Naar navigatie springen Naar zoeken springen

Dolfje

Dolfje is de Slack-bot die helpt met het organiseren van de potjes weerwolven. Zijn code is poëzie niet in taal gevangen.

Oorsprong

Tijdens Weerwolven 2 - Wakkerdam waar meer dan 40 man aan mee deed werd Polly gebruikt voor de stemming. De gratis versie van Polly heeft echter een aantal nadelen, zo kan je maar 10 opties toevoegen aan de poll en door een optie toe te voegen beïnvloed je (anoniem) de stemming. Als oplossing werd gekeken naar de betaalde versie van Polly, maar uiteindelijk heeft foaly besloten zelf een Slack-bot te maken, zodat niet alleen de stemming maar ook andere dingen ermee geregeld konden worden. In Weerwolven 4 - Toy Story werd Dolfje voor het eerst gebruikt. Een heel aantal dingen werden al ondersteund, maar bijvoorbeeld het verdelen van rollen zat er nog niet in. Na interesse vanuit andere Slack-community's is Dolfje [[1]] opensource geworden en wordt er door meerdere mensen (waaronder vooral Martin) aan gewerkt. Inmiddels ondersteunt Dolfje meerdere spellen tegelijk.

Handleiding

Voor het spelen van weerwolven met Dolfje zijn er een reeks commando’s welke hier kort worden toegelicht. Dit zal niet alle vragen dekken, dus aarzel niet om door te vragen. Voor de meeste commando's is het belangrijk dat je het commando uitvoert in een kanaal dat betrokken is bij het spel! Een commando voer je uit door het als bericht in Slack te typen, beginnend met een schuine streep.

Commando’s voor iedereen

/wwikdoemee

Tijdens de registratie periode kunnen spelers zich inschrijven met dit commando. Dit wordt vervolgens bevestigd en spelers krijgen een welkomstbericht. Indien er meerdere spellen open staan voor registratie, krijgen registranten een bericht met de vraag voor welke van de openstaande spellen zij willen inschrijven.

/wwikkijkmee

Spelers die mee willen kijken met het spel kunnen zich aanmelden om mee te kijken met dit commando. Als het spel al begonnen is, worden spelers automatisch toegevoegd aan het dorp, het stemhok en het sectator kanaal. Deze actie wordt bevestigd naar de vertellers. Indien er meerdere spellen open staan voor kijkers, krijgen registranten een bericht met de vraag voor welke van de openstaande spellen zij willen meekijken.

/wwikdoenietmeermee

Tijdens de registratie periode kunnen spelers zich uitschrijven met dit commando. Dit wordt vervolgens bevestigd.

/wwkanaal

Dit commando start een kanaal en nodigt automatisch alle vertellers en Dolfje uit. Dit commando kan in alle kanalen waar Dolfje inzit worden uitgevoerd, zolang dit kanaal bij een spel hoort. Het nieuwe kanaal wordt dan ook direct aan dat spel gekoppeld. Let op de naamgeving die gehanteerd wordt voor het actieve spel. Dit commando heeft één parameter nodig: /wwkanaal [naam van het nieuwe kanaal]

/wwnodigvertellersuit

Nodigt iedereen met de rol van verteller in het kanaal waar je dit commando uitvoert uit. Gebruik bij voorkeur /wwkanaal voor het aanmaken van nieuwe kanalen.

/wwnodigspelersuit

Nodigt iedereen in het spel uit, om vergissingen met nodigvertellersuit te voorkomen moet dit bevestigd worden met ikweethetzeker, het volledige commando is dus: /wwnodigspelersuit ikweethetzeker

/wwlijst

Geeft een lijst van iedereen in het huidige kanaal. Dit is in een privé bericht. Gebruik optionele parameter public om het naar het kanaal zelf te posten.

/wwregels

Laat de huidige regels zien. Dit is in een privé bericht. Gebruik optionele parameter public om het naar het kanaal zelf te posten. (regels moeten voorlopig handmatig in DB worden toegevoegd en gekoppeld en in de wiki worden toegevoegd)

/wwstartvluchtigestemronde

Maakt een stemming aan die niet opgeslagen wordt in de database. De stemming kan door iedereen worden aangemaakt en door iedereen worden gesloten.

/wwlotto

Dolfje geeft stemadvies. Dolfje kiest een willekeurige nog levende speler, dat kan je dus ook zelf zijn! Schat dit advies altijd op waarde. Dit is in een privé bericht. Gebruik optionele parameter public om het naar het kanaal zelf te posten.

/wwstatus

Geeft de huidige status van het spel weer en geeft aan in welke spellen jij actief bent (als verteller, speler of sectator). Dit is in een privé bericht. Gebruik optionele parameter public om het naar het kanaal zelf te posten.

/wwsamenvatting

Geeft een samenvatting van het kanaal waar het commando wordt uitgevoerd. Heeft 1 of 2 parameter(s) nodig: /wwsamenvatting [datum van] [datum tot]. Als er één datum wordt meegegeven krijg je een samenvatting van die dag. Datums moeten worden opgegeven volgens het formaat: yyyy-mm-dd dus als je de datum 7 april 1986 zou willen invoeren wordt dat 1986-04-07

/wwhelp

Stuurt een DM met de help tekst.

Commando’s voor de verteller

/wwstartregistratie

Het spel begint altijd met het openen van de registratie. Dit geeft de kans aan spelers om zich te registeren, je kunt je alleen registeren tijdens een registratie periode. Er zijn 3 parameters nodig voor /wwstartregistratie [wachtwoord] [stemstijl] [mogelijke reanimatie spelers (0 = nee, 1 =ja)] Het wachtwoord is om misbruik te voorkomen en kan worden opgevraagd bij een oud-verteller. De stemstijl is de manier van stemmen, op dit moment wordt alleen blind ondersteund. De laatste parameter geeft aan of het mogelijk is dat dode spelers weer terugkomen uit de sectators en levend worden. Dit heeft invloed op of ze mee kunnen doen aan een nieuw spel als ze dood zijn. De naam van het spel wordt automatisch aangemaakt.

/wwstartspel

Dit beëindigt de registratie periode en start het spel. Er zijn 3 parameters nodig voor /wwstartspel [naam van het spel] [aantal spelers] [naam van het hoofdkanaal]. De naam van het spel is nodig om het juiste spel te starten. Het aantal spelers bepaalt het aantal spelers dat mee mag doen. Als het aantal spelers lager is dan het aantal inschrijvingen dan wordt er geloot. Hierbij hebben mensen die in vorige potjes uitgeloot zijn voorrang en hoe lang het geleden is dat je bent uitgeloot. De derde parameter is de naam van het hoofdkanaal, Dolfje maakt vervolgens dit kanaal aan (dit kanaal mag dus nog niet bestaan!) en nodigt iedereen die ingeloot is en de sectators daarin uit.

Voorbeeld: /wwstartspel ww99 25 dorp

/wwstartstemronde

Start de stemronde, dit commando moet uitgevoerd worden in het stemlokaal. Dit commando heeft een optionele parameter [naam van de stemming]. Deze wordt vermeld in het kanaal en opgeslagen in de DB.

/wwstemherinnering

Tijdens een stemronde kan er een stemherinnering verstuurd worden. Er is één commando nodig voor /wwstemherinnering [eindtijd]. De eindtijd is de tijd waarom de stemming sluit. Deze tijd wordt vermeld in de herinnering.

/wwstopstemronde

Stopt de huidige stemronde. Dit commando moet uitgevoerd worden in het stemlokaal. De stemming wordt gesloten en de uitslag wordt bekend gemaakt.

/wwdood

Dit commando markeert een speler als dood. Er is 1 parameter nodig voor /wwdood [@user]. @-mention de user waarom het gaat. Voer dit commando uit in het hiernamaals/sectatorkanaal zodat de gebruiker hiervoor uitgenodigd kan worden. De bot stuurt de gebruiker een DM met het slechte nieuws en een verzoek haar status aan te passen.

/wwreanimeer

Dit commando markeert een speler als levend. Er is 1 parameter nodig voor /wwreanimeer [@user]. @-mention de user waarom het gaat. Voer dit commando uit in het hiernamaals/sectatorkanaal zodat de gebruiker daar uitgegooid kan worden. De bot stuurt de gebruiker een DM met het goede nieuws en een verzoek haar status aan te passen.

/wwextraverteller

Voegt een extra verteller toe. Er is 1 parameter nodig voor /wwextraverteller [@user]. @-mention een gebruiker die je verteller wilt maken. Die mag vervolgens alle verteller commando’s uitvoeren en wordt uitgenodigd met het uitnodig commando. Als het spel al begonnen is wordt de verteller ook toegevoegd aan alle kanalen van het spel.

/wwstopspel

Stopt het spel en opent het keuze menu voor alle kanalen in het stemhok. Er is 2 parameters nodig: /wwstopspel [wachtwoord] [spelnaam] je kan de spelnaam zien met behulp van /wwstatus.

/wwarchiveren

Archiveert alle kanalen die zijn gerelateerd aan het spel. Heeft 2 parameters nodig: /wwarchiveren [wachtwoord] [naam van het spel].

/wwverdeelrollen

Verdeelt de rollen. Dit commando vereist de rollen als argumenten. De vorm daarvoor is: rol:aantal. Je kunt ook een range aangeven qua rollen op de volgende manier: rol:minAantal-maxAantal. Je moet afsluiten met de standaard rol zonder aantal of met een flexibel aantal dus bijvoorbeeld:

/wwverdeelrollen wolf:5 ziener:1 opvolger:1 heks:2 jager:2 burger:
/wwverdeelrollen wolf:4 ziener 1 heks:1-3 burger:8-10

Automatisch stemmen

Gebruik Slackbots remind functie om het stemmen te schedulen, bijvoorbeeld:

/remind #stemhok "hey @Dolfje start de stemming" every weekday at 1000 

Opent de stemming elke werkdag om 10 uur.

/remind #stemhok "hey @Dolfje stop de stemming nu"  every saturday at 2030 

Sluit de stemming elke zaterdag om half 9.

/remind #stemhok "hey @Dolfje herinner spelers voor [2030] te stemmen" every weekday at 2000 

Herinnert iedereen die nog niet gestemd heeft op elke werkdag om 20:00, om voor 20:30 te stemmen.

Onderstreepte woorden zijn in deze volgorde vereist (inclusief de haken om de tijd waarop de stembus sluit).

Every friday kan ook every day of every weekday zijn. Als er geen stemming geopend of gesloten kan worden wordt het bericht van Slackbot genegeerd. De reminders die nodig zijn voor een potje waarbij je wilt dat spelers beginnen met stemmen om 10u en stoppen met stemmen om 20u, met een rustdag op zondag, zijn dan deze:

/remind #stemhok "hey @Dolfje start de stemming" every weekday and saturday at 1000
/remind #stemhok "hey @Dolfje stop de stemming nu"  every weekday and saturday at 2030
/remind #stemhok "hey @Dolfje herinner spelers voor [2030] te stemmen" every weekday and saturday at 2000

Je kan deze herinneringen stopzetten na het einde van een spel door:

/remind list

Je krijgt dan een overzicht te zien van alle herinneringen en kan deze dan verwijderen.