Hvordan lage din egen discord bot

Innholdsfortegnelse:

Hvordan lage din egen discord bot
Hvordan lage din egen discord bot

Video: Hvordan lage din egen discord bot

Video: Hvordan lage din egen discord bot
Video: Samsung Galaxy Phones Get Custom Fingerprint Animations-Check This Out - YouTube 2024, Mars
Anonim
Discord har en utmerket API for å skrive tilpassede bots, og et veldig aktivt bot samfunn. I dag tar vi en titt på hvordan du skal begynne å lage din egen.
Discord har en utmerket API for å skrive tilpassede bots, og et veldig aktivt bot samfunn. I dag tar vi en titt på hvordan du skal begynne å lage din egen.

Du trenger litt programmeringskunnskap for å kode en bot, så det er ikke for alle, men heldigvis er det noen moduler for populære språk som gjør det veldig enkelt å gjøre. Vi bruker den mest populære, discord.js.

Starter

Gå over til Discords botportal, og opprett en ny applikasjon.

Du vil gjerne notere klient-ID og hemmelig (som du bør holde en hemmelighet selvfølgelig). Dette er imidlertid ikke bot, bare "Application." Du må legge botten under "Bot" -fanen.
Du vil gjerne notere klient-ID og hemmelig (som du bør holde en hemmelighet selvfølgelig). Dette er imidlertid ikke bot, bare "Application." Du må legge botten under "Bot" -fanen.
Legg også merke til dette tokenet, og hold det hemmelig. Ikke under noen omstendigheter begå denne nøkkelen til Github. Din bot blir hacket nesten umiddelbart.
Legg også merke til dette tokenet, og hold det hemmelig. Ikke under noen omstendigheter begå denne nøkkelen til Github. Din bot blir hacket nesten umiddelbart.

Installer Node.js og få koding

For å kjøre Javascript-kode utenfor en nettside, trenger du Node. Last ned den, installer den, og kontroller at den fungerer i en terminal (eller Kommandoprompt, da alt dette skal fungere på Windows-systemer). Standardkommandoen er "node".

Vi anbefaler også å installere nodemonverktøyet. Det er en kommandolinjeprogram som overvåker botens kode og starter automatisk på endringer. Du kan installere den ved å kjøre følgende kommando:

npm i -g nodemon

Du trenger en tekstredigerer. Du kan bare bruke notisblokk, men vi anbefaler enten Atom eller VSC.

Her er vår "Hello World":

Image
Image

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');

Denne koden er hentet fra discord.js eksempelet. La oss slå det ned.

  • De to første linjene er å konfigurere klienten. Linje 1 importerer modulen til et objekt som heter "Discord", og linje 2 initialiserer klientobjektet.
  • De

    client.on('ready')

    Blokken vil brenne når boten starter. Her er det bare konfigurert til å logge navnet sitt til terminalen.

  • De

    client.on('message')

    blokk vil brenne hver gang en ny melding blir lagt ut på en hvilken som helst kanal. Selvfølgelig må du sjekke meldingsinnholdet, og det er hva

    if

    blokkere gjør. Hvis meldingen sier bare "ping", så vil det svare med "Pong!"

  • Den siste linjen logger inn med token fra botportalen. Åpenbart er token i skjermbildet her falsk. Ikke post innlegget ditt på internett.

Kopier denne koden, lim inn din token nederst, og lagre den som

index.js

i en dedikert mappe.

Hvordan kjøre botten

Gå over til terminalen din, og kjør følgende kommando:
Gå over til terminalen din, og kjør følgende kommando:

nodemon --inspect index.js

Dette starter opp skriptet, og brenner også opp feilsøkeren, som du kan få tilgang ved å skrive

chrome://inspect/

inn i Chrome's Omnibar og deretter åpne "dedikerte devtools for Node."

Nå skal det bare si "Logget inn som , "Men her har jeg lagt til en linje som vil logge alle meldingsobjekter mottatt til konsollen:

Så hva utgjør dette meldingsobjektet? Mange ting, faktisk:
Så hva utgjør dette meldingsobjektet? Mange ting, faktisk:
Mest spesielt, du har forfatterinfo og kanalinfo, som du kan få tilgang til med msg.author og msg.channel. Jeg anbefaler denne metoden for å logge objekter til Chrome Node-devtools, og bare ser deg rundt for å se hva som gjør det til å fungere. Du kan finne noe interessant. Her logger bot for eksempel sine svar på konsollen, slik at botens svar utløser
Mest spesielt, du har forfatterinfo og kanalinfo, som du kan få tilgang til med msg.author og msg.channel. Jeg anbefaler denne metoden for å logge objekter til Chrome Node-devtools, og bare ser deg rundt for å se hva som gjør det til å fungere. Du kan finne noe interessant. Her logger bot for eksempel sine svar på konsollen, slik at botens svar utløser

client.on('message')

. Så laget jeg en spambot:

Image
Image

Merk: Vær forsiktig med dette, siden du ikke virkelig vil håndtere rekursjon.

Slik legger du til bot til serveren din

Denne delen er vanskeligere enn den burde være. Du må ta denne nettadressen:
Denne delen er vanskeligere enn den burde være. Du må ta denne nettadressen:

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

Og erstatt CLIENTID med botens klient-ID, som du finner på den generelle informasjonsfanen på applikasjonssiden. Når dette er gjort, kan du gi koblingen til vennene dine for å få dem til å legge boten til sine servere også.

OK, så hva annet kan jeg gjøre?

Utover grunnleggende oppsett, er alt annet helt opp til deg. Men dette ville ikke være mye av en opplæring hvis vi stoppet på hei verden, så la oss gå over noen av dokumentasjonen, så du får en bedre ide om hva som er mulig. Jeg foreslår at du leser så mye du kan, da det er veldig godt dokumentert.
Utover grunnleggende oppsett, er alt annet helt opp til deg. Men dette ville ikke være mye av en opplæring hvis vi stoppet på hei verden, så la oss gå over noen av dokumentasjonen, så du får en bedre ide om hva som er mulig. Jeg foreslår at du leser så mye du kan, da det er veldig godt dokumentert.

Jeg vil anbefale å legge til

console.log(client)

til starten av koden din, og ta en titt på klientobjektet i konsollen:

Herfra kan du lære mye. Siden du kan legge til en bot på flere servere samtidig, er servere en del av
Herfra kan du lære mye. Siden du kan legge til en bot på flere servere samtidig, er servere en del av

Guilds

kartobjekt. I det objektet er de enkelte guildene (som er API-navnet for "server") og de guildobjektene har kanallister som inneholder all informasjon og lister over meldinger. API-en er veldig dyp, og det kan ta litt tid å lære, men i det minste er det lett å sette opp og komme i gang med å lære.

Anbefalt: