Kanalen maken, rollen uitdelen, rechten instellen, berichten lezen en schrijven. Jij zegt wat je wilt, je assistent doet het. Geen console, niets te installeren, en niemand anders die aan je server kan komen.
Werkt met Claude en met ChatGPT. Eén smalle ingang bedient allebei: een adres, een wachtwoordzin, en alleen de gereedschappen die je hebt aangezet. ChatGPT noemt ze plug-ins en vraagt om zijn ontwikkelaarsmodus, die daar nog in bèta is.
Maak een plek voor het zomertoernooi: een aankondigingenpagina waar alleen ik in kan schrijven, een inschrijfkanaal, een spraakkanaal, en een rol “Deelnemer” die alleen daar mag schrijven.
Goed, drie kanalen, één rol, en alleen de rol mag ze zien.
Categorie en drie kanalen aangemaakt, rol toegevoegd, vier aparte rechten gezet. Achttien seconden.
Geen menu's, geen rechtenmatrix, geen getallen van achttien cijfers. 2 voorbeelden uit echte sessies:
JijMijn gilde
Wie heeft de oude moderatierol nog terwijl die persoon na de reorganisatie de nieuwe heeft gekregen?
ClaudeMCP
JijMijn gilde
Het hulpkanaal is een rommeltje. Zet het zo neer dat nieuwkomers eerst de regels zien.
ClaudeMCP
Elk van die veranderingen verschijnt seconden later in je logboekkanaal, samen met alles wat geweigerd werd.
Elk met een naam, elk gecontroleerd voordat het iets aanraakt. 41 werken meteen. De 9 die niet ongedaan te maken zijn staan uit tot je ze zelf aanzet.
Vijf onomkeerbare acties per tien minuten. Die grens is met opzet geen instelling. Eén die je vanaf een scherm kunt verhogen wordt verhoogd de eerste keer dat hij nee zegt, precies het moment waarop hij zijn werk doet.
En één schakelaar die geen gereedschap is: iedereen waarschuwen. Aan mag het rollengereedschap hierboven een rol het recht geven om alle leden in één keer te waarschuwen. Je assistent kan dat nog steeds niet zelf, wat er ook gevraagd wordt. Hij heeft dat recht alleen om het door te kunnen geven, want Discord laat niemand een recht uitdelen dat hij niet heeft.
En één die verandert wat je assistent zelf mag doen: aan iedereen aankondigen. Aan bereikt een @everyone in een bericht van je assistent echt iedereen. Uit, zoals het geleverd wordt, schrijft hij het woord en behandelt Discord het als tekst. Elk bericht dat iedereen wakker maakt kost er één van de vijf onomkeerbare acties per tien minuten.
De Discord-applicatie maak je zelf aan. Het token bereikt alleen jouw server, en je kunt het op elk moment intrekken zonder het ons te vragen. Er staat geen gedeelde bot op de server van iedere klant.
Wijs een vakje aan en het zegt om welk recht het gaat.
50 gereedschappen, en geen enkele heeft Beheerder nodig. We zetten niet zomaar alles wat Discord aanbiedt in de uitnodigingslink. Het zijn precies de 21 rechten die de gereedschappen echt gebruiken, moderatie inbegrepen, en geen één meer.
Het vakje met de rode rand is Beheerder. Dat blijft donker, dus Discord zelf laat je bot geen beheerdersrecht uitdelen, los van wat er in onze code staat. En wat bepaalt of iets kan gebeuren is toch al niet het recht. Het is of het gereedschap bestaat, en dat is wat jij aanzet.
Je eigen proces, subdomein, certificaat en logboekkanaal. Geen gedeelde database, geen gedeelde bot, en geen pakketten van derden op de machine.
Eén instantie bewaart een token dat één Discord-server kan herbouwen. Wij bewaren dat van iedere klant. Die zin is de reden voor elke beslissing hier, en geen ervan is achteraf toegevoegd.
Het proces dat jouw token bewaart voert niemand anders zijn code uit. Geen bibliotheek, geen update in de nacht, geen toeleveringsketen.
Het komt onderweg naar je eigen instantie langs en wordt gewist zodra die instantie meldt dat ze draait. Wat blijft is een vingerafdruk: genoeg om te merken dat het veranderd is, niet genoeg om het te gebruiken.
Eigen adres, eigen certificaat, eigen logboekkanaal, eigen instellingenbestand. Er is geen gedeelde database waarin de server van de ene klant in het antwoord van de andere kan opduiken.
Een instantie opzetten vereist root. De webdienst waar vreemden naartoe schrijven heeft dat niet: die legt een verzoek in een map, en een programma dat vanaf internet onbereikbaar is haalt het op.
Je bot opent geen gateway-verbinding met Discord. Hij praat wanneer hij iets te doen heeft en is verder stil. Geen tweede aanwezigheid op je server, en niets dat op de achtergrond meeluistert.
Elke verandering gaat naar een kanaal op je eigen server, en elke weigering ook. De weigering is de nuttigste helft: een poging die Discord nooit bereikte laat nergens anders een spoor na.
Elk hiervan is een beslissing met een bestand erachter, geen intentieverklaring. We schrijven ze op zodat je ons eraan kunt houden.
Aan deze 5 minuten hebben we alle zorg besteed die we in huis hebben, om ze zo eenvoudig en zo veilig te maken als die twee samen toelaten. Vier stappen, en geen ervan vraagt je iets technisch te begrijpen.
In het Discord Developer Portal: nieuwe applicatie, tabblad Bot, Reset Token, kopiëren. Daar is hier een geïllustreerde handleiding voor.
We vragen het meteen aan Discord en vertellen je om welke bot het gaat, zodat je niet blind plakt. Daarna krijg je je uitnodigingslink.
Eén klik op de knop Autoriseren van Discord. Om welke server het gaat zoeken wij zelf uit. Je zoekt nooit een getal van achttien cijfers op.
Je krijgt één adres. Plak het als eigen connector, meld je één keer aan met je wachtwoordzin, en je server staat er.
De supportserver is de korte weg. Daar zitten wij, daar krijg je antwoord, en je ziet meteen wat anderen al gevraagd hebben.