[初心者向け] 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/

画像1

右側のボタン「12.18.3 LTS 推奨版」を押して、ファイルをダウンロードします。

画像2

ダウンロードが完了したら、そのファイルを実行しましょう。

画像3

Nextを押します。

画像4

ライセンスを読みましょう。
ライセンスに同意できるのであれば、左下のチェックボックスにチェックを入れてNextを押します。

画像5

プログラムのインストール場所を選択します。変えたい人はchangeを押して変更しましょう。
特に変更しないでいい人はNextを押します。

画像6

インストールするプログラムを選択します。
node.js runtimeは本体、npm package managerはnode packageを管理するプログラムです。パスも通してくれます。
特に変更せずにNextを押します。

画像7

一部のパッケージモジュールはc/c++が必要なのでそのツールをインストールしますかという設定です。
今回は使用することはないのでチェックせずにNextを押します。

画像8

installをクリックしインストールを開始します。

画像9

Finishを押してインストールを完了します。

最後に、正常にインストールできたかの確認のためにバージョンを確認しましょう。

「windowsキー+R」でファイルを指定して実行を開きます。
その入力ボックスの中に「cmd」と入力しOKを押します。

画像10

コマンドプロンプトが起動したら、 ​
node -v
と入力します。下に、v.12.18.3と表示されれば成功です。
npmのほうも見ておきましょう。
npm -v」と入力し、下に6.14.6と表示されれば成功です。

画像11

3. Discord botのトークンを取得しよう

⑥のbotの動作で必要不可欠な、トークンを取得しましょう。
と、その前に規約は読んでおきましょう。https://discord.com/developers/docs/legal


下記のページに行き、ログインします。
https://discord.com/developers/applications

画像12

赤い枠の中の NewApplicationをクリックします。
まず、botなどを統括するアプリケーションを作成します。

コメント 2020-09-07 173756

NAMEにアプリケーションで使用する名前を入力します。後で変更可能です。
サンプルは「test-bot」にしました。

コメント 2020-09-07 173819

アプリケーションができました。
次にbotを作りましょう。

コメント 2020-09-07 173849

左側の赤枠の「Bot」をクリックします。
その後、右側の「Add Bot」をクリックします。

コメント 2020-09-07 173903

Botを作成すると元に戻すことはできないですけど大丈夫ですか。という確認画面です。
Yes, do it! を押しましょう。

コメント 2020-09-07 174030

これでbotが完成しました。
名前の下にある場所がトークンの取得場所です。
このトークンを絶対にネット上にあげたり、教えたりしてはいけません
botを乗っ取られます。もし、ほかのサーバーで使用されているbotであれば被害は甚大です。自分のサーバーであっても勝手にデータを抜き取られてしまうこともあります。管理は十分に気をつけてください。

4. まとめ

第0回(準備編)では、Node.jsとdiscord botのトークンを取得しました。
次回は、実際にコードを書いていきます。(半年先の可能性があるが。)
お楽しみに!

いいなと思ったら応援しよう!