Hoe u uw eigen Discord Bot kunt maken

Discord heeft een uitstekende API voor het schrijven van aangepaste bots en een zeer actieve botgemeenschap. Vandaag bekijken we hoe u aan de slag kunt gaan met het maken van uw eigen.

Je hebt wat programmeerkennis nodig om een ​​bot te coderen, dus het is niet voor iedereen weggelegd, maar gelukkig zijn er enkele modules voor populaire talen die het heel gemakkelijk maken. We zullen de meest populaire gebruiken, discord.js.

VERWANT: Hoe u uw Discord-server maakt, instelt en beheert

Aan de slag

Ga naar het botportaal van Discord en maak een nieuwe applicatie.

Noteer de client-ID en het geheim (die u natuurlijk geheim moet houden). Dit is echter niet de bot, alleen de ‘Applicatie’. U moet de bot toevoegen onder het tabblad “Bot”.

Maak ook een notitie van dit token en houd het geheim. Leg deze sleutel in geen geval vast aan Github. Uw bot wordt vrijwel onmiddellijk gehackt.

Installeer Node.js en verkrijg codering

Om Javascript-code buiten een webpagina uit te voeren, heeft u Node nodig. Download het, installeer het en zorg ervoor dat het werkt in een terminal (of opdrachtprompt, want dit zou allemaal moeten werken op Windows-systemen). De standaardopdracht is ‘node’.

We raden ook aan om de tool nodemon te installeren. Het is een opdrachtregel-app die de code van je bot controleert en automatisch herstart bij wijzigingen. U kunt het installeren door de volgende opdracht uit te voeren:

npm i -g nodemon

Je hebt een teksteditor nodig. Je zou gewoon kladblok kunnen gebruiken, maar we raden Atom of VSC aan.

Hier is onze “Hallo wereld”:

const Discord = require('discord.js');
 const client = new Discord.Client();

client.on('ready', () => {
 console.log(`Logged in as ${client.user.tag}!`);
 });

client.on('message', msg => {
 if (msg.content === 'ping') {
 msg.reply('pong');
 }
 });

client.login('token');

Deze code is overgenomen uit het voorbeeld van discord.js. Laten we het opsplitsen.

  • De eerste twee regels zijn om de client te configureren. Regel één importeert de module in een object genaamd “Discord”, en regel twee initialiseert het client-object.
  • De client.on('ready') block zal vuren wanneer de bot opstart. Hier is het zojuist geconfigureerd om zijn naam op de terminal te loggen.
  • De client.on('message') block wordt geactiveerd elke keer dat een nieuw bericht op een kanaal wordt gepost. Natuurlijk moet u de inhoud van het bericht controleren, en dat is wat het if block doet. Als het bericht alleen ‘ping’ zegt, dan antwoordt het met ‘Pong!’
  • De laatste regel logt in met het token van de botportal. Het is duidelijk dat het token in de schermafbeelding hier nep is. Plaats uw token nooit op internet.

Kopieer deze code, plak onderaan je token en sla het op als index.js in een speciale map.

Hoe de bot te runnen

Ga naar je terminal en voer de volgende opdracht uit:

nodemon --inspect index.js

Hierdoor wordt het script gestart en wordt ook de Chrome-foutopsporing gestart, die u kunt openen door te typen chrome://inspect/ in de Omnibar van Chrome en vervolgens ‘dedicated devtools for Node’ openen.

Nu zou het gewoon moeten zeggen “Ingelogd als “, maar hier heb ik een regel toegevoegd die alle ontvangen berichtobjecten op de console zal loggen:

Dus waaruit bestaat dit berichtobject? Heel veel dingen eigenlijk:

Het meest opvallende is dat je de auteursinfo en de kanaalinformatie hebt, die je kunt openen met msg.author en msg.channel. Ik raad deze methode aan om objecten in de Chrome Node-devtools te loggen en gewoon rond te kijken om te zien wat ervoor zorgt dat het werkt. Misschien vindt u iets interessants. Hier logt de bot bijvoorbeeld zijn antwoorden op de console, zodat de antwoorden van de bot worden geactiveerd client.on('message'). Dus ik heb een spambot gemaakt:

Notitie: Wees hier voorzichtig mee, want je wilt niet echt omgaan met recursie.

Hoe u de bot aan uw server toevoegt

Dit deel is moeilijker dan het zou moeten zijn. U moet deze URL gebruiken:

https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot

En vervang CLIENTID door de client-ID van uw bot, te vinden op het tabblad algemene informatie van de applicatiepagina. Zodra dit echter is gebeurd, kunt u de link aan uw vrienden geven zodat zij de bot ook aan hun servers kunnen toevoegen.

Oké, dus wat kan ik nog meer doen?

Afgezien van de basisconfiguratie, is al het andere geheel aan jou. Maar dit zou niet echt een tutorial zijn als we stopten bij hallo world, dus laten we wat documentatie doornemen, zodat je een beter idee hebt van wat mogelijk is. Ik stel voor dat je zoveel mogelijk leest, want het is zeer goed gedocumenteerd.

Ik zou aanraden om toe te voegen console.log(client) naar het begin van je code, en kijk naar het client-object in de console:

Van hieruit kun je veel leren. Omdat u een bot aan meerdere servers tegelijk kunt toevoegen, maken servers deel uit van het Guilds kaartobject. In dat object bevinden zich de individuele gilden (wat de API-naam is voor “server”) en die gildeobjecten hebben kanaallijsten die alle info en lijsten met berichten bevatten. De API is erg diep, en het kan even duren om te leren, maar het is in ieder geval eenvoudig in te stellen en aan de slag te gaan met leren.

Nieuwste artikelen

spot_img

Related Stories

Leave A Reply

Vul alstublieft uw commentaar in!
Vul hier uw naam in