Úvodná » ako » Ako urobiť svoj vlastný Discord Bot

    Ako urobiť svoj vlastný Discord Bot

    Diskord má vynikajúce rozhranie API na písanie vlastných robotov a veľmi aktívnu komunitu botov. Dnes sa pozrieme na to, ako začať robiť svoje vlastné.

    Budete potrebovať trochu znalostí v oblasti programovania, aby ste kódovali bot, takže nie je pre všetkých, 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 (ktoré by ste mali mať samozrejme). To však nie je bot, len "Aplikácia". Budete musieť pridať bot pod záložku "Bot".

    Poznačte si token a tiež ho držte v tajnosti. V žiadnom prípade sa tento kľúč nepriznajte 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 príkaz na príkazový riadok, ktorý sleduje váš botový kód 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 ste len použiť poznámkový blok, ale odporúčame buď Atom alebo VSC.

    Tu je náš "Hello World":

    const Discord = vyžadovať ('discord.js'); const klient = nový Diskord.Client (); client.on ('ready', () => console.log ('Prihlásený ako $ client.user.tag!');); client.on ('správa', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ( 'známka');

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

    • Prvými dvoma riadkami je nakonfigurovať klienta. Jeden 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 ( 'správa') blok bude strieľať vždy, keď sa nová správa vysiela do ľubovoľného kanála. Samozrejme, budete musieť skontrolovať obsah správy, a to je to, čo ak Blok robí. Ak správa len hovorí "ping", potom odpovie "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:

    nodemon - inspect index.js

    Týmto sa spustí skript a tiež sa otvorí ladiaci program Chrome, ku ktorému pristupujete zadaním chrome: // kontrolovať /  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? Mnoho vecí, v skutočnosti:

    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 a vidím, čo to robí. 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 ( 'správa'). Tak som urobil spambot:

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

    Ako pridať bot na server

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

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

    A vymeňte CLIENTID s ID klienta vášho bota, ktorý nájdete na karte všeobecných informácií na stránke aplikácie. Akonáhle to urobíte, môžete dať odkaz na svojich priateľov, aby si ich pridať bot na ich serveroch rovnako.

    Dobre, tak čo môžem urobiť inak?

    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 hello svete, tak prejdime na niektoré z dokumentácie, takže máte lepšiu predstavu o tom, čo je možné. Navrhujem, aby ste prečítali čo najviac, ako je to veľmi dobre zdokumentované.

    Odporúčam vám pridať console.log (klient) na začiatok vášho kódu a pozrieť sa na objekt klienta v konzole:

    Odtiaľ sa môžete naučiť veľa. Vzhľadom k tomu, môžete pridať topánok na viacerých serveroch naraz, servery sú súčasťou cechy objekt mapy. V tomto objekte sú jednotlivé Guildy (čo je názov API pre "server") a tieto objekty guildu majú zoznamy kanálov, ktoré obsahujú všetky informácie a zoznamy správ. Rozhranie 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.