Ako si vytvoriť svoj vlastný Discord Bot

Obsah:

Ako si vytvoriť svoj vlastný Discord Bot
Ako si vytvoriť svoj vlastný Discord Bot

Video: Ako si vytvoriť svoj vlastný Discord Bot

Video: Ako si vytvoriť svoj vlastný Discord Bot
Video: 🟡 POCO X5 PRO - САМЫЙ ДЕТАЛЬНЫЙ ОБЗОР и ТЕСТЫ - YouTube 2024, Smieť
Anonim
Diskord má vynikajúce rozhranie API pre písanie vlastných robotov a veľmi aktívnu komunitu botov. Dnes sa pozrieme na to, ako začať s vlastnou činnosťou.
Diskord má vynikajúce rozhranie API pre písanie vlastných robotov a veľmi aktívnu komunitu botov. Dnes sa pozrieme na to, ako začať s vlastnou činnosťou.

Budete potrebovať trochu znalostí v oblasti programovania, aby ste kódovali bot, takže nie je pre každého, ale našťastie existujú niektoré moduly pre populárne jazyky, ktoré robia veľmi ľahké. Budeme používať najobľúbenejšie, discord.js.

Začíname

Prejdite na diskotékový portál spoločnosti Discord a vytvorte novú aplikáciu.

Budete si chcieť poznačiť ID klienta a tajomstvo (samozrejme by ste mali mať tajomstvo). To však nie je bot, len "Aplikácia". Budete musieť pridať bot pod záložku "Bot".
Budete si chcieť poznačiť ID klienta a tajomstvo (samozrejme by ste mali mať tajomstvo). To však nie je bot, len "Aplikácia". Budete musieť pridať bot pod záložku "Bot".
Poznačte si tento symbol a udržujte ho v tajnosti. V žiadnom prípade sa tento kľúč nepriznávajte Githubovi. Váš bot bude hacknutý takmer okamžite.
Poznačte si tento symbol a udržujte ho v tajnosti. V žiadnom prípade sa tento kľúč nepriznávajte Githubovi. Váš bot bude hacknutý takmer okamžite.

Node.js nainštalujte a získajte kódovanie

Ak chcete spustiť kód Javascript mimo webovú stránku, potrebujete uzol. Stiahnite si ho, nainštalujte ho a uistite sa, že funguje v termináli (alebo príkazový riadok, pretože to všetko by malo fungovať na systémoch Windows). Predvolený príkaz je "uzol".

Odporúčame tiež inštaláciu nástroja nodemon. Je to aplikácia príkazového riadka, ktorá sleduje kód vášho botu a automaticky sa reštartuje pri zmenách. Môžete ho nainštalovať spustením nasledujúceho príkazu:

npm i -g nodemon

Budete potrebovať textový editor. Mohli by ste použiť len poznámkový blok, ale odporúčame buď Atom alebo VSC.

Tu je náš "Zdravý svet":

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

Tento kód je prevzatý z príkladu discord.js. Poďme to rozdeliť.

  • Prvými dvoma riadkami je nakonfigurovať klienta. Prvý riadok importuje modul do objektu s názvom "Rozpoznať" a druhý riadok inicializuje objekt klienta.
  • client.on('ready')

    blok sa spustí, keď bot začne. Tu je nakonfigurovaný na prihlásenie jeho názvu do terminálu.

  • client.on('message')

    blok sa bude strieľať vždy, keď sa na ľubovoľný kanál uverejní nová správa. Samozrejme, budete musieť skontrolovať obsah správ, a to je to, čo

    if

    Blok robí. Ak správa len povie "ping", potom odpovie s "Pong!"

  • Posledný riadok sa prihlási pomocou tokenu z botového portálu. Je zrejmé, že token na snímke je tu falošný. Nikdy nezverejňujte svoj token na internete.

Skopírujte tento kód, vložte ho do tokenu v dolnej časti a uložte ho ako

index.js

v určenom priečinku.

Ako spustiť Bot

Prejdite na svoj terminál a spustite nasledujúci príkaz:
Prejdite na svoj terminál a spustite nasledujúci príkaz:

nodemon --inspect index.js

Spustí sa skript a tiež spustí ladiaci program Chrome, ku ktorému pristupujete zadaním

chrome://inspect/

do Omnibaru Chrome a potom otvoriť "dedicované devtooly pre uzol".

Teraz by to malo len povedať "Prihlásený ako , "Ale tu som pridal riadok, ktorý bude prijímať všetky správy prijaté do konzoly:

Takže čo tvorí túto správu? Veľa vecí, vlastne:
Takže čo tvorí túto správu? Veľa vecí, vlastne:
Najdôležitejšie je, že máte informácie o autorovi a informácie o kanáloch, ku ktorým máte prístup pomocou správy msg.author a msg.channel. Odporúčam túto metódu prihlásenia objektov do devolu Chrome uzla a len sa pozerám okolo, aby som videl, čo to funguje. Možno nájdete niečo zaujímavé. Tu napríklad bot zaznamenáva svoje odpovede na konzolu, takže odpovede botu spúšťajú
Najdôležitejšie je, že máte informácie o autorovi a informácie o kanáloch, ku ktorým máte prístup pomocou správy msg.author a msg.channel. Odporúčam túto metódu prihlásenia objektov do devolu Chrome uzla a len sa pozerám okolo, aby som videl, čo to funguje. Možno nájdete niečo zaujímavé. Tu napríklad bot zaznamenáva svoje odpovede na konzolu, takže odpovede botu spúšťajú

client.on('message')

Tak som urobil spambot:

Image
Image

Poznámka: Buďte opatrní, pretože v skutočnosti nechcete riešiť rekurziu.

Ako pridať bot na server

Táto časť je ťažšia, ako by mala byť. Musíte mať túto adresu URL:
Táto časť je ťažšia, ako by mala byť. Musíte mať túto adresu URL:

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

A vymeňte CLIENTID s identifikátorom klienta vášho topánka, ktorý nájdete na karte všeobecných informácií na stránke aplikácie. Akonáhle to bude hotovo, môžete dať odkaz svojim priateľom, aby si ich pridal aj na svoje servery.

Dobre, tak čo mám robiť?

Okrem základného nastavenia je čokoľvek iné len na vás. Ale to by nebolo veľa tutoriálu, keby sme sa zastavili na pozdrav svet, tak prejdime na niektoré z dokumentácie, takže máte lepšiu predstavu o tom, čo je možné. Navrhujem, aby ste si prečítali čo najviac, ako je to veľmi dobre zdokumentované.
Okrem základného nastavenia je čokoľvek iné len na vás. Ale to by nebolo veľa tutoriálu, keby sme sa zastavili na pozdrav svet, tak prejdime na niektoré z dokumentácie, takže máte lepšiu predstavu o tom, čo je možné. Navrhujem, aby ste si prečítali čo najviac, ako je to veľmi dobre zdokumentované.

Odporúčam vám pridať

console.log(client)

na začiatok kódu a pozrieť sa na objekt klienta v konzole:

Odtiaľ sa môžete naučiť veľa. Keďže môžete pridávať bot na viacero serverov naraz, servery sú súčasťou
Odtiaľ sa môžete naučiť veľa. Keďže môžete pridávať bot na viacero serverov naraz, servery sú súčasťou

Guilds

objekt mapy. V tomto objekte sú jednotlivé guildy (čo je názov rozhrania API pre "server") a tieto objekty guildu majú zoznamy kanálov, ktoré obsahujú všetky informácie a zoznamy správ. Aplikácia API je veľmi hlboká a môže chvíľu trvať, kým sa učíte, ale aspoň je ľahké nastaviť a začať učiť sa.

Odporúča: