Een ticket bot geeft de leden van je Discord server een knop waarmee ze een privékanaal met jouw team openen. Zo verdwijnen vragen niet meer in de algemene chat: elke vraag krijgt een eigen kanaal, iemand van je team pakt hem op en daarna sluit je het ticket netjes af. Hieronder lees je wat zo'n bot doet, hoe je hem bij ons instelt en waarom hij beter bij een host draait dan op je eigen pc.
Wat doet een Discord ticket bot?
Een ticket is een kanaal waarin een lid privé met je staff praat. De bot maakt dat kanaal aan zodra iemand op een knop klikt, voegt de juiste staffrollen toe en ruimt het kanaal op als het ticket gesloten is.
Op ons ticket bot-pakket draait Discord Tickets, een open-source ticket bot die sinds 2019 bestaat. Dit kun je ermee:
- Categorieën: bijvoorbeeld support, ban appeals, sollicitaties en betalingen. Elke categorie heeft eigen staffrollen, een eigen openingsbericht en eventueel vragen die een lid eerst invult.
- Panels: een bericht met knoppen (1 tot 5 categorieën) of een keuzemenu (2 tot 25 categorieën) waarmee leden een ticket openen. Een ticket openen kan ook met
/new. - Claimen, verplaatsen en sluiten: staff claimt een ticket met
/claimals je claimen aanzet, verplaatst het met/movenaar een andere categorie en vraagt met/closeom het te sluiten. - Archief: berichten, bijlagen en avatars worden versleuteld bewaard, zodat je later terugleest wat er is afgesproken.
- Werktijden en limieten: opent iemand buiten je werktijden een ticket, dan meldt de bot dat een antwoord langer kan duren. Per categorie stel je in hoeveel open tickets een lid mag hebben en hoe lang hij moet wachten voor hij een nieuw ticket opent.
- Logkanaal: ticketactiviteit, gewijzigde instellingen en bewerkte of verwijderde berichten in tickets komen in een logkanaal.
De instellingen beheer je in het webportaal van de bot. Je server raakt dus niet vol met beheercommando's.
Twee soorten bot hosting bij EliteStarHosting
- Ticket bot hosting vanaf €2,00 per maand: Discord Tickets staat klaar op je server in het gamepaneel. Je vult het token van je bot en een paar instellingen in. 1GB RAM met 2 CPU-cores voor €2,00, 2GB met een database voor €4,00, of 3GB met 3 CPU-cores, een database en 2 back-ups voor €6,00.
- Discord bot hosting vanaf €0,50 per maand: voor je eigen botcode in Node.js, Python, Java, Go en meer. 512MB voor €0,50, 1GB voor €1,00 en 2GB voor €2,00, steeds met 1 poort en 2 of 3 back-ups. Vanaf 1GB zit er een database bij.
Beide draaien in Nederland op NVMe-opslag en starten automatisch opnieuw als de bot crasht. Elk pakket is één bot: voor twee bots bestel je twee pakketten.
Stap 1: een Discord-applicatie aanmaken
Elke bot heeft een eigen applicatie bij Discord nodig. Maak voor je ticket bot een nieuwe aan, ook als je al een bot hebt: Discord Tickets raadt af om een bestaande applicatie te gebruiken. Dat doe je in het Discord Developer Portal.
- Klik op New Application, geef je bot een naam, ga akkoord met de voorwaarden en klik op Create.
- Ga naar Bot en klik onder Token op Reset Token. Kopieer het token meteen: daarna zie je het niet meer terug.
- Zet op dezelfde pagina onder Privileged Gateway Intents alle drie de intents aan: presence, server members en message content. Discord Tickets heeft ze alle drie nodig.
- Ga naar OAuth2 en klik op Reset Secret. Kopieer ook dit geheim.
- Zet Public Bot uit, zoals Discord Tickets aanraadt. Dat lukt pas als je eerst op de pagina Installation bij Install Link voor None kiest.
Deel je token met niemand en zet het nooit in een Git-repository. Wie je token heeft, bestuurt je bot.
Stap 2: de ticket bot instellen in het gamepaneel
Open je server in het gamepaneel en ga naar Startup.
- Plak je token bij Discord Bot Token en het geheim bij Discord 0Auth2 Secret. Het veld heet echt zo, met een nul.
- Vul bij Owner IDs je eigen Discord-gebruikers-ID in: de lange reeks cijfers van je account. Wie hier staat, mag de instellingen van de bot in elke server beheren, los van zijn rollen. Standaard staat er een ID uit de standaardinstellingen van Discord Tickets, en dat is niet het jouwe. Vervang het door je eigen ID. Meerdere ID's scheid je met een komma.
- Laat Auto-publish commands? op
truestaan. Dan zet de bot zijn slashcommando's zelf in Discord. - Heb je het pakket van 1GB, laat Database Provider dan op
sqlitestaan. Heeft je pakket een database, volg dan eerst de stappen hieronder.
Een MySQL-database gebruiken (2GB en 3GB)
Maak een database aan via Databases in het menu, zoals in Een MySQL-database aanmaken. Zet Database Provider daarna op mysql en vul bij Database URL deze regel in, met je eigen gegevens:
mysql://USERNAME:WACHTWOORD@ENDPOINT/DATABASENAAM
Endpoint bevat het adres en de poort. Het wachtwoord zie je via Database Details. Staat er in je wachtwoord een @, #, / of :? Vervang dat teken in de regel dan door %40, %23, %2F of %3A.
Gebruik je het archief in een grote server, dan raadt Discord Tickets een MySQL-database aan in plaats van SQLite.
Het adres van het instellingenportaal
De bot heeft een eigen webportaal voor zijn instellingen. Dat draait op de poort van je server.
- Ga naar Files en open
.env(zie de File Manager). Zet achterHTTP_EXTERNAL=je serveradres met poort, zoals het op de pagina Console staat, methttp://ervoor. Bijvoorbeeldhttp://gnode1.elitestarhosting.com:25500. Klik op Save Content. - Ga terug naar het Developer Portal, open OAuth2, klik op Add Redirect en vul hetzelfde adres in met
/auth/callbackerachter. Sla de wijziging op. - Klik op Start. Wacht in de console tot je de melding
Connected to Discordziet.
Stap 3: de bot in je server zetten en inrichten
- Typ
settingsin de console. De bot geeft je een link naar zijn instellingenpagina. - Log daar in met Discord, kies je server en autoriseer de bot. Daarmee komt hij in je server. Ververs daarna de pagina en open de instellingen van je server.
- Kies bij de algemene instellingen een logkanaal. Stel ook je werktijden in: standaard telt elk uur als werktijd.
- Maak een categorie aan. Vul in elk geval Name, Description, Emoji, Opening message en Staff roles in. De staffrollen komen in elk ticketkanaal. Wil je tickets laten claimen, zet dan Claiming aan, want dat staat standaard uit. De bot maakt zelf een Discord-categorie voor de ticketkanalen.
- Maak een panel: kies je categorieën, een kanaal en een titel. Bij één categorie zien leden de knop Create a ticket. Bij meer categorieën krijgen ze een knop of een keuzemenu met een optie per categorie.
Test je eerste ticket zelf: open er een via het panel en kijk of je staffrollen in het kanaal staan. Met /close vraag je om het ticket te sluiten. Komt dat verzoek van staff, dan moet de maker van het ticket het accepteren.
Je eigen Discord bot hosten
Schrijf je zelf een bot? Kies dan Discord bot hosting. Je werkt in hetzelfde gamepaneel, maar dan met je eigen code.
- Upload je bestanden via Files of SFTP. Staat je code op GitHub? Vul dan onder Startup Git Repo Address en de branch in (bij Node.js Install Branch, bij Python Git Branch) en installeer je server opnieuw, zodat hij je repository ophaalt. Is je repository privé, vul dan ook Git Username en Git Access Token in.
- Met Auto Update op
1haalt de server bij elke start de nieuwste versie van je repository op. - Kies bij Docker Image je Node.js- of Python-versie.
- Vul bij Main file je startbestand in, bijvoorbeeld
index.js. Dit veld mag maximaal 16 tekens bevatten. Bij Python heet het App py file. Staat er eenpackage.jsonofrequirements.txtin je map, dan installeert de server je pakketten bij elke start. - Zet je token in een
.env- of configuratiebestand op de server, niet in je code. - Zet de bot in je server via het Developer Portal. Ga naar Installation, kies Guild Install, zet Install Link op Discord Provided Link en kies onder Default Install Settings de scopes
botenapplications.commands. Vink bij Permissions alleen aan wat je bot echt nodig heeft. Open de link en kies Add to server.
Alleen iemand die de server mag beheren (Manage Server) kan een bot toevoegen.
Waarom niet gewoon op je eigen pc?
Een Discord bot houdt een vaste verbinding met Discord open en stuurt steeds een heartbeat. Valt die verbinding weg, dan staat je bot offline en kan niemand een ticket openen. Op een pc gebeurt dat bij elke slaapstand, Windows-update en wifi-storing. Een bot die steeds opnieuw verbindt, kan bovendien tegen een limiet van Discord aanlopen: bij meer dan 1000 nieuwe aanmeldingen in 24 uur verbreekt Discord alle verbindingen van je bot en reset het je token.
Bij ons draait de bot in een eigen container die automatisch opnieuw start als hij crasht. Je pc hoeft dus niet meer aan te blijven, en dat al vanaf €0,50 per maand.
Veelgestelde vragen
Wat kost ticket bot hosting? Vanaf €2,00 per maand voor 1GB. Betaal je 3 maanden, 6 maanden of een jaar vooruit, dan krijg je 5%, 10% of 15% korting.
Heb ik een eigen Discord-account nodig? Ja. De bot draait onder een applicatie in jouw Discord-account. Zo blijf jij eigenaar van de bot, zijn naam en zijn token.
Werkt de ticket bot ook voor mijn FiveM- of Minecraft-community? Ja. De bot staat los van je game server en werkt in elke Discord server, dus ook naast een FiveM server voor je RP-community.
Hoeveel RAM heeft een ticket bot nodig? Discord Tickets gebruikt zelf rond de 120MB. Het pakket van 1GB is dus ruim genoeg. Kies 2GB als je een MySQL-database wilt, of 3GB als je ook back-ups wilt.
Kan ik de bot aanpassen? Ja. Categorieën, openingsberichten, werktijden en panels stel je in via het portaal van de bot. De bestanden op je server beheer je zelf via Files of SFTP.
Kan ik meerdere bots op één pakket draaien? Nee, elk pakket is één bot. Voor een tweede bot bestel je een extra pakket.
Kom je er niet uit? Stel je vraag via support of op Discord.
