[初心者向け] Node.jsで書く!Discord bot 第0回(準備編)
------------------------------------------------
[注意!]
筆者もjsやdiscord.jsなどを極めた人(初心者ではないけど、上級者でもない)ではありません。下調べはしてありますが、間違い等ありましたらコメントお願いします。
------------------------------------------------
こんにちは。ふだです。
今回より、何回かに分けて初心者がとりあえずのdiscord botをつくれるようになれるように、説明記事を投稿していきたいと思います。
その名も、「Node.jsで書く!Discord bot」と銘打ちやっていきたいと思います。
次回以降に主となるコードですが、筆者がテンプレートを作ってあります。
これを活用してbotの初期設定を簡単にする魂胆です。
ということで、今回は第0回 準備編、discord botを作る環境を構築していきます。
では、早速やっていきましょう。
1.必要なもの
botを作る前に以下のものが必要になります。
(*がついている項目はご自身で準備してください。)
① パソコン*
② discordアカウント*
③ テキストエディター*
④ node.js
⑤ discord.jsのパッケージ(必要なものですが、環境構築は行いません。)
⑥ Discord botのトークン
⑦ 最低限のjavascriptの文法*
①のパソコンはwin10でもmacでも(Linux系でも...)可能です。
ただし、筆者はwin10のため、ほかのOSユーザーは適時置き換えてください。
②のdiscordアカウントはbotのトークン取得に必要です。事前にアカウントは作っておいてください。
③のテキストエディターはどれでも構いません。
サクラエディタ、TeraPad、VisualStudioCode等々... 自分の使いやすいものを使ってください。
筆者はVisualStudioCodeを使用します。
④のnode.jsとは、javascriptをサーバーサイドでも動作させれる便利ツールです。
恐らくこの記事を見ている人は頭の上に?マークが浮かんでいるかもですね。とりあえずは、便利なツールなんだと覚えておいてください。
(詳しく知りたい人はこのページを見てください。
初めてでもわかる!Node.jsの特徴やできることとは?|ぼくらのハウツーノート)
⑤のdiscord.jsのパッケージは、discordのapi(データを渡したり、受け取ったりする仕組み)をjsでも動作するように変換するプログラムです。node package managerという仕組みを用いてダウンロードします。
基本的に、プロジェクトのディレクトリ(フォルダ)に配置するので今回は操作しません。
下記ページでdiscord.jsのパッケージ詳細情報を得られます。
discord.js - discord.js.org
ドキュメントには、どんなデータを取得できるかといったことがすべて書かれています。
イベント(特定条件の時に実行されるコード)、プロパティ(apiから渡されたものから得れるデータ)、メソッド(apiやプログラムにこれをやってという仕組み)が一覧になっており、開発する上では絶対必要になります。
また、日本人なら日本語の方がいいでしょう?discord.jsは日本語の非公式コミュニティーがあります。scrapboxでは機能の説明や、サンプルを公開されています。Discordサーバー内の検索でもいい情報が得られますよ。
下記にサイトのリンクを貼っておきます。
Discord.js Japan User Group HP
⑥のDiscord botのトークンはbotをdiscordにログインさせるためのパスワードみたいなものです。これを流出させるとbotが乗っ取られます。
管理には十分に注意してください。
⑦の最低限のjavascriptの文法ですが、以下のコードが書ければ今回は大丈夫です。ただ、自分で書こうと思った時にはこれ以上の知識は必要となるので、jsの仕組み等はしっかり学んでおきましょう。
const DATA = {
"myName" : "TARO",
"myAge" : 21,
"things" : ["beer","juice","Udon"]
};
if(DATA.myAge > 20){
console.log("成人ですね。")
console.log(DATA.myName + "さんは、以下のものを買います。")
for(var i=0; i<DATA.things.length; i++){
console.log(DATA.things[i])
}
}else console.log("未成年ですね。出直してください")
2. Node.jsをインストールしよう
では④のnode.jsをインストールしていきましょう。
下記リンクからnode.jsの配布ページに行きます。
https://nodejs.org/ja/
右側のボタン「12.18.3 LTS 推奨版」を押して、ファイルをダウンロードします。
ダウンロードが完了したら、そのファイルを実行しましょう。
Nextを押します。
ライセンスを読みましょう。
ライセンスに同意できるのであれば、左下のチェックボックスにチェックを入れてNextを押します。
プログラムのインストール場所を選択します。変えたい人はchangeを押して変更しましょう。
特に変更しないでいい人はNextを押します。
インストールするプログラムを選択します。
node.js runtimeは本体、npm package managerはnode packageを管理するプログラムです。パスも通してくれます。
特に変更せずにNextを押します。
一部のパッケージモジュールはc/c++が必要なのでそのツールをインストールしますかという設定です。
今回は使用することはないのでチェックせずにNextを押します。
installをクリックしインストールを開始します。
Finishを押してインストールを完了します。
最後に、正常にインストールできたかの確認のためにバージョンを確認しましょう。
「windowsキー+R」でファイルを指定して実行を開きます。
その入力ボックスの中に「cmd」と入力しOKを押します。
コマンドプロンプトが起動したら、
「node -v」
と入力します。下に、v.12.18.3と表示されれば成功です。
npmのほうも見ておきましょう。
「npm -v」と入力し、下に6.14.6と表示されれば成功です。
3. Discord botのトークンを取得しよう
⑥のbotの動作で必要不可欠な、トークンを取得しましょう。
と、その前に規約は読んでおきましょう。https://discord.com/developers/docs/legal
下記のページに行き、ログインします。
https://discord.com/developers/applications
赤い枠の中の NewApplicationをクリックします。
まず、botなどを統括するアプリケーションを作成します。
NAMEにアプリケーションで使用する名前を入力します。後で変更可能です。
サンプルは「test-bot」にしました。
アプリケーションができました。
次にbotを作りましょう。
左側の赤枠の「Bot」をクリックします。
その後、右側の「Add Bot」をクリックします。
Botを作成すると元に戻すことはできないですけど大丈夫ですか。という確認画面です。
Yes, do it! を押しましょう。
これでbotが完成しました。
名前の下にある場所がトークンの取得場所です。
このトークンを絶対にネット上にあげたり、教えたりしてはいけません。
botを乗っ取られます。もし、ほかのサーバーで使用されているbotであれば被害は甚大です。自分のサーバーであっても勝手にデータを抜き取られてしまうこともあります。管理は十分に気をつけてください。
4. まとめ
第0回(準備編)では、Node.jsとdiscord botのトークンを取得しました。
次回は、実際にコードを書いていきます。(半年先の可能性があるが。)
お楽しみに!