あなた自身の不和ボットを作る方法
Discordはカスタムボットを書くための優れたAPIと非常に活発なボットコミュニティを持っています。今日は私たちがあなた自身のものを作り始める方法を見てみましょう.
ボットをコーディングするには少しプログラミングの知識が必要になるので、すべての人に役立つわけではありませんが、幸いなことに、非常に簡単にできる人気言語用のモジュールがいくつかあります。最も人気のあるもの、discord.jsを使用します。.
入門
Discordのボットポータルに行き、新しいアプリケーションを作成してください。.
クライアントIDとシークレットをメモしておくことをお勧めします(もちろん秘密にしておくべきです)。しかし、これはボットではなく、単に「アプリケーション」です。「ボット」タブの下にボットを追加する必要があります。.
このトークンも書き留めて、それを秘密にしてください。いかなる状況においても、このキーをGithubにコミットしないでください。あなたのボットはすぐにハッキングされるでしょう.
Node.jsをインストールしてコーディングを取得する
Webページの外でJavascriptコードを実行するには、Nodeが必要です。それをダウンロードし、インストールし、そしてそれが端末で動作することを確認しなさい(あるいは、これが全てWindowsシステムで動作するはずなので、コマンドプロンプト)。デフォルトのコマンドは「node」です。
nodemonツールをインストールすることもお勧めします。ボットのコードを監視し、変更があると自動的に再起動するコマンドラインアプリです。次のコマンドを実行してインストールできます。
npm i -g nodemon
あなたはテキストエディタが必要です。メモ帳を使うこともできますが、AtomかVSCのどちらかをお勧めします。.
これが私たちの“ Hello World”です。
const Discord = require( 'discord.js'); const client = new Discord.Client(); client.on( 'ready'、()=> console.log( '$ client.user.tagとしてログインしました!');); client.on( 'message'、msg => if(msg.content === 'ping')msg.reply( 'pong');); client.login( 'token');
このコードはdiscord.jsの例から引用しています。それを分解しましょう.
- 最初の2行はクライアントを設定するためのものです。 1行目はモジュールを「Discord」というオブジェクトにインポートし、2行目はクライアントオブジェクトを初期化します。.
- の
client.on( 'ready')
ボットの起動時にブロックが起動します。ここでは、名前を端末に記録するように設定されています. - の
client.on( 'message')
ブロックは、新しいメッセージが任意のチャンネルに投稿されるたびに起動します。もちろん、メッセージの内容を確認する必要があります。もし
ブロックはありません。メッセージに「ping」と表示されているだけの場合は、「Pong!」と返信されます。 - 最後の行はボットポータルからのトークンでログインします。明らかに、ここのスクリーンショットのトークンは偽物です。自分のトークンをインターネットに投稿しないでください。.
このコードをコピーして、一番下にトークンを貼り付けて、名前を付けて保存してください。 index.js
専用フォルダ内.
ボットを実行する方法
端末に向かって進み、次のコマンドを実行してください。
nodemon --inspect index.js
これでスクリプトが起動し、Chromeデバッガも起動します。これには、次のように入力してアクセスできます。 chrome:// inspect /
ChromeのOmnibarにアクセスしてから、「Node専用のdevtools」を開きます。
さて、それはただ "Logged in as"と言うべきですが、ここで私はコンソールに受信したすべてのメッセージオブジェクトをログする行を追加しました:
それで、このメッセージオブジェクトを構成するものは何ですか?たくさんのもの、実際には:
最も注目に値するのは、あなたはmsg.authorとmsg.channelでアクセスできる作者情報とチャンネル情報を持っているということです。オブジェクトをChrome Nodeのdevtoolsに記録して、それが何を機能させるのかを見回してみるというこの方法をお勧めします。おもしろいことがあるかもしれません。ここでは、例えば、ボットはその返事をコンソールに記録するので、ボットの返事がトリガーされます。 client.on( 'message')
. そこで、私はスパムロボットを作りました:
注意:あなたは本当に再帰を扱いたくないので、これに注意してください.
サーバーにボットを追加する方法
この部分は本来あるべきよりも難しいです。このURLを取る必要があります:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
そして、CLIENTIDをアプリケーションページの一般情報タブにあるあなたのボットのクライアントIDに置き換えてください。これが終わったら、友達にリンクを張って彼らのサーバーにもボットを追加させることができます。.
さて、それで私は他に何ができますか?
基本設定以外に、他のものはすべてあなた次第です。しかし、hello worldに立ち寄ったとしても、これはあまりチュートリアルにはなりません。そのため、いくつかのドキュメントを見ていきましょう。それは非常によく文書化されているので、私はあなたができるだけ多くを通読することを勧めます.
追加することをお勧めします console.log(クライアント)
コードの最初に進み、コンソールのクライアントオブジェクトを見てください。
ここから、たくさん学ぶことができます。一度に複数のサーバーにボットを追加できるので、サーバーは ギルド
マップオブジェクトそのオブジェクトには個々のGuild( "server"のAPIの名前)があり、それらのGuildオブジェクトにはすべての情報とメッセージのリストを含むチャンネルリストがあります。 APIは非常に深く、習得するにはしばらく時間がかかるかもしれませんが、少なくともセットアップは簡単で、習得するのも簡単です。.