Jak si vyrobit vlastní diskord
Diskord má vynikající API pro psaní vlastních robotů a velmi aktivní komunitu botů. Dnes se budeme zabývat tím, jak začít dělat své vlastní.
Budete potřebovat trochu znalostí programování k kódování botu, takže to není pro všechny, ale naštěstí existují některé moduly pro populární jazyky, které dělají velmi snadné dělat. Budeme používat nejoblíbenější, discord.js.
Začínáme
Překročte portál botů společnosti Discord a vytvořte novou aplikaci.
Budete si chtít vzít na vědomí ID klienta a tajemství (které samozřejmě musíte mít v tajnosti). Nicméně, toto není bot, jen "Aplikace". Budete muset přidat bot pod kartou "Bot".
Poznamenejte si také token a udržujte ho v tajnosti. Za žádných okolností se tento klíč nedopusujte Githubovi. Váš bot bude hacknut téměř okamžitě.
Node.js nainstalovat a získat kódování
Chcete-li spustit kód Javascript mimo webovou stránku, potřebujete uzel. Stáhněte jej, nainstalujte jej a ujistěte se, že funguje v terminálu (nebo příkazový řádek, protože to vše by mělo fungovat na systémech Windows). Výchozí příkaz je "uzel".
Doporučujeme také nainstalovat nástroj nodemon. Jedná se o aplikaci příkazového řádku, která sleduje kód vašeho botu a automaticky se restartuje při změnách. Můžete jej nainstalovat spuštěním následujícího příkazu:
npm i -g nodemon
Budete potřebovat textový editor. Můžete použít poznámkový blok, ale doporučujeme buď Atom nebo VSC.
Zde je náš "Hello World":
const Discord = vyžadovat ('discord.js'); const klient = nový Diskord.Client (); client.on ('ready', () => console.log ('Přihlášen jako $ client.user.tag!');); client.on ('zpráva', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ('token');
Tento kód je převzat z příkladu discord.js. Pojďme to rozdělit.
- Prvním dvěma řádky je konfigurovat klienta. Řádek 1 modul modul importuje do objektu s názvem "Diskord" a řádek dva inicializuje objekt klienta.
- The
client.on ('připravený')
blok se spustí, když bot začíná. Zde je jen nakonfigurován, aby přihlásil své jméno na terminál. - The
client.on ('zpráva')
blok bude střílet vždy, když je nová zpráva odeslána do libovolného kanálu. Samozřejmě budete muset zkontrolovat obsah zprávy, a to je to-li
blok. Pokud zpráva pouze říká "ping", pak bude odpovídat "Pong!" - Poslední řádek se přihlásí pomocí tokenu z botového portálu. Je zřejmé, že token na obrazovce je falešný. Nikdy nezveřejňujte své žetony na internetu.
Tento kód zkopírujte, vložte do dolního tokenu a uložte jej jako index.js
ve vyhrazené složce.
Jak spustit Bot
Přejeďte se k terminálu a spusťte následující příkaz:
nodemon - inspect index.js
Spustí tento skript a také spustí ladění Chrome, ke kterému máte přístup zadáním chrome: // inspect /
do Omnibaru Chrome a poté otevření "vyhrazených devtoolů pro Uzel".
Nyní by se měl říkat "Přihlášen jako," ale zde jsem přidal řádek, který bude protokolovat všechny objekty zpráv přijaté do konzoly:
Takže to, co tvoří tuto zprávu objekt? Spousta věcí, vlastně:
Nejvíce pozoruhodně máte informace o autorech a informace o kanálech, ke kterým máte přístup s msg.author a msg.channel. Doporučuji tuto metodu protokolování objektů do devolu Chrome Node a jen se rozhlížím a zjistím, jak to funguje. Můžete najít něco zajímavého. Zde například bot zaznamenává své odpovědi na konzoli, takže odpovědi botu spustí client.on ('zpráva')
. Tak jsem udělal spambot:
Poznámka: Buďte opatrní, protože se opravdu nechcete vyrovnávat s rekurzí.
Jak přidat bot do vašeho serveru
Tato část je těžší, než by měla být. Musíte tuto adresu URL:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
A vyměňujte CLIENTID s identifikátorem klienta botu, který naleznete na kartě obecných informací na stránce aplikace. Jakmile je to hotovo, můžete dát odkaz svým přátelům, aby je přidali bot na své servery také.
Dobře, tak co jiného můžu dělat?
Kromě základního nastavení je něco jiného zcela na vás. Ale to by nebylo hodně tutoriálu, kdybychom se zastavili na hello world, tak pojďme přejít na některé z dokumentace, takže máte lepší představu o tom, co je možné. Navrhuji, abyste četl co nejvíce, protože je to velmi dobře zdokumentováno.
Doporučil bych přidat console.log (klient)
na začátek kódu a prohlédnutí objektu klienta v konzole:
Odtud se můžete hodně naučit. Vzhledem k tomu, že můžete přidat bot na více serverů najednou, servery jsou součástí Cechy
objekt mapy. V tomto objektu jsou jednotlivé cechy (což je název API pro "server") a tyto objekty cechu obsahují seznamy kanálů, které obsahují všechny informace a seznamy zpráv. Aplikace API je velmi hluboká a může chvíli trvat, než se učí, ale alespoň je snadné nastavit a začít se učit.