NIEUW 📢 Beperkte lanceeractie: tot 70% korting op je eerste maand, voor elke game!Bekijk pakketten

Discord Tickets hosten, een kant-en-klare ticketbot

Discord-bothostingUpdated Oct 29, 20269 min read

Discord Tickets is een kant-en-klare ticketbot: leden openen privé ticketkanalen, je staf beantwoordt, claimt en sluit ze, en transcripties worden bewaard. Je stelt hem in op zijn eigen webdashboard. Hij heeft je bottoken nodig, het Client secret van je applicatie, alle drie de bevoorrechte intents en één redirectlink die je toevoegt in het Developer Portal. Geen code.

  1. Maak in het Discord Developer Portal de bot, kopieer zijn token en zijn Client Secret en zet alle drie de bevoorrechte intents aan.
  2. Laat de server in het panel Discord Tickets draaien (Wijzigen wat er draait).
  3. Plak het token in de kaart Je bot instellen op Overzicht, en het client secret onder Bot, Omgeving, Inloggegevens.
  4. Nodig de bot uit met de Uitnodigingslink.
  5. Start hem, voeg het redirectadres uit de console toe op de pagina OAuth2 van het Portal en stel de bot in op zijn dashboard.

Elke stap uitgebreid hieronder.

Voordat je begint

  1. Maak de bot in het Discord Developer Portal en kopieer zijn token: Een Discord-bot maken en zijn token ophalen.
  2. Zet op de pagina Bot van de applicatie Presence Intent, Server Members Intent en Message Content Intent aan en druk op Save Changes. De bot vraagt Discord om alle drie als hij inlogt.
  3. Kopieer op de pagina OAuth2 het Client Secret (druk op Reset Secret als het verborgen is). De dashboardlogin gebruikt het. Houd het privé, net als het token.

1. Laat de server Discord Tickets draaien

  1. Open je server in het panel. Klik op Overzicht, in de kaart Je bot instellen, op de stap Wat er draait. Daar staat "Deze bot draait Discord Tickets." als het type al klopt.
  2. Zo niet, klik dan op Wijzigen wat er draait (of op de naam van het bottype bovenaan de pagina), kies Discord Tickets, druk op Volgende stap, vink de bevestiging aan en druk op Servertype wijzigen.

2. Plak het token en het client secret

  1. Installatiekaart, stap Verbinden met Discord: plak het token bij Plak je bottoken, druk op Verbinden en dan op Ja, doorgaan.
  2. Open de pagina Bot en klik op Omgeving (de laatste stap van de installatiekaart linkt hier ook naartoe met Omgeving openen en houdt Bot starten uit totdat het secret is ingesteld). Op de kaart Inloggegevens toont Client secret Verplicht. Druk op Instellen, plak het client secret en druk op Opslaan.
  3. Laat Database connection string voorlopig leeg: de bot bewaart tickets dan in een bestand op de server. ENCRYPTION_KEY, gemarkeerd met Gemaakt door PlayNHost, wordt voor je gemaakt en beschermt de opgeslagen inhoud van tickets. Verwijder hem nooit.

De pagina Bot, deel Omgeving, met de kaart Inloggegevens voor Discord Tickets: Client secret, Database connection string en ENCRYPTION_KEY, gemaakt door PlayNHost.

3. Controleer de intents en nodig hem uit

  1. Installatiekaart, stap Rechten: de tabel Bevoorrechte intents markeert Server Members, Message Content en Presence als Nodig voor Discord Tickets. Elke moet Aan tonen onder In je portal. Druk na je wijzigingen in het Portal op Opnieuw controleren.
  2. Druk onder Uitnodigingslink op Toevoegen aan een Discord-server en kies je server. De link vraagt al om wat een ticketbot nodig heeft om ticketkanalen te maken en te bepalen wie ze ziet: Kanalen beheren, Rollen beheren en Berichten beheren, plus Kanalen bekijken, Berichten versturen, Links insluiten en nog een paar andere.

De installatiekaart op Overzicht bij de stap Rechten voor Discord Tickets, met de drie intents gemarkeerd als Nodig en de Uitnodigingslink eronder.

Heb je de bot eerder met minder rechten uitgenodigd? Druk opnieuw op Toevoegen aan een Discord-server en kies dezelfde server: Discord werkt de rechten van de bot bij.

4. Start hem en voeg de redirect toe

  1. Open Console en druk op Starten. Tussen de eerste regels zie je deze, met je eigen adres (de databasestap print na Preparing the database nog een paar eigen regels):
[PlayNHost] Using a SQLite file (user/database.db). To use your plan's MySQL database instead, create one in Databases and paste its Generic URL (Ready-made config) into Database connection string on the Bot page, Environment. Tickets are not copied between the two.
[PlayNHost] Preparing the database
[PlayNHost] Dashboard: http://203.0.113.10:30500/settings
[PlayNHost] In your Discord application, OAuth2 page, add this redirect: http://203.0.113.10:30500/auth/callback
[PlayNHost] Starting your bot
  1. Kopieer het redirectadres uit je console. Open in het Developer Portal OAuth2, druk onder Redirects op Add Redirect, plak het en druk op Save Changes. Zonder dit mislukt het inloggen op het dashboard.
  2. Een regel met Warning: The current working directory is not the same as the base directory. is normaal op onze servers en onschadelijk.

5. Stel hem in op het dashboard

  1. Open het adres bij Dashboard uit de console in je browser en log in met Discord.
  2. Kies je Discord-server en maak minstens één ticketcategorie: de naam, welke staffrollen de tickets zien en de vragen die leden beantwoorden.
  3. Leden openen een ticket met /new, of met een knop op een panelbericht dat je in het dashboard maakt. Staf gebruikt /claim, /close, /add, /remove en /transcript.

Het dashboard is gewoon http op het adres en de poort van je server, dus je browser markeert het als niet veilig. Om het een domein met https te geven heb je een eigen proxy ervoor nodig: zie Dashboardadres hieronder.

Instellingen

Op de pagina Bot, Code, heeft de kaart Instellingen deze opties. Druk na een wijziging op Opslaan en herstart dan de bot.

InstellingStandaardWat het doet
Botbeheerders (optioneel)leegDiscord-gebruikers-ID's, gescheiden door komma's, die de bot mogen beheren in elke server waar hij in zit. Zet hier je eigen ID neer.
Dashboardadres (optioneel)leegAlleen als je een eigen https-proxy of domein voor het dashboard zet, bijvoorbeeld https://tickets.example.com. Leeg gebruikt http:// met het adres en de poort van je server. Pas de redirect in het Portal daarop aan.
Proxyheaders vertrouwenfalseAlleen true als het dashboard achter je eigen reverse proxy staat.
Commando's publiceren bij starttrueRegistreert de slash-commando's van de bot bij Discord elke keer dat hij start.
VersielatestWordt alleen gelezen terwijl de server installeert, dus geldt na Opnieuw installeren. Zie Bijwerken hieronder.

Gebruik in plaats daarvan de MySQL-database van je pakket

  1. Open Databases in het servermenu, druk op Nieuwe database en dan op Database aanmaken.
  2. Klik de nieuwe database aan in Jouw databases. Kies op de kaart Kant-en-klare config onder Config voor Generic URL en druk op Kopiëren. Hij begint met mysql://; plak hem zoals hij is.
  3. Ga naar de pagina Bot, Omgeving, Inloggegevens, druk naast Database connection string op Instellen, plak hem en druk op Opslaan.
  4. Herstart de bot. De console zegt nu [PlayNHost] Using your MySQL database.

Zegt de console daarna [PlayNHost] The database could not be prepared, dan heeft de server misschien nog het startscript van een oudere installatie, dat de gekopieerde URL verkeerd leest als het wachtwoord speciale tekens bevat. Druk één keer op Opnieuw installeren op de kaart Opnieuw installeren onder Bot, Code (je instellingen, tickets en encryptiesleutel blijven staan) en start de bot dan opnieuw.

Tickets worden niet gekopieerd tussen het bestand en MySQL, dus kies voordat je leden het gaan gebruiken. Meer over databases: Databases gebruiken met je server.

Consoleregels die je kunt zien

[PlayNHost] Discord Tickets is not set up yet: it needs your bot token and your application's client secret.

Het token of het client secret ontbreekt. Plak het token onder Bot, Discord en het secret onder Bot, Omgeving, Inloggegevens, en druk dan op Starten.

[PlayNHost] Discord Tickets is not installed. Reinstall it on the Bot page, Code, then press Start.

De bestanden van de bot ontbreken. Open de pagina Bot, Code, druk op Opnieuw installeren op de kaart Opnieuw installeren en bevestig. Druk als de installatie klaar is op Starten.

[PlayNHost] The database connection string is not valid. Open Databases, open your database, copy Ready-made config, Generic URL into Database connection string on the Bot page, Environment, then press Start.

Kopieer Generic URL opnieuw van de kaart Kant-en-klare config van de database en druk op Vervangen naast Database connection string onder Inloggegevens.

[PlayNHost] The encryption key is not ready yet. Press Start again in a minute; if this repeats, contact support.

Wacht een minuut en druk opnieuw op Starten. Komt het terug, open dan een ticket.

Goed om te weten

  • Discord Tickets kan geen e-mail versturen.
  • Je tickets, sjablonen en logs staan in de mappen user en logs onder Files. Maak er een backup van voor grote wijzigingen: Backups maken, downloaden en terugzetten.
  • Bijwerken: de installatie downloadt de nieuwste release van de GitHub van het project, of de release bij Versie, zoals v4.0.52. Om bij te werken stel je Versie in als je een bepaalde release wilt, open je de pagina Bot, Code, druk je op Opnieuw installeren op de kaart Opnieuw installeren en bevestig je. Je instellingen, tickets en encryptiesleutel blijven staan. Start de bot opnieuw als het klaar is.
  • Liever zelf bouwen? Een ticketbot maken voor Discord (discord.js).

Elke optie van elke kant-en-klare bot: De instellingen van een kant-en-klare bot wijzigen.

Draait je bot al ergens anders? Verhuis hem naar ons

ONZE NIEUWSTE BLOGS