# Botを立ち上げて実行する

やっと面白い部分にたどり着きました!今Botはサーバーにいるので、次はコードを書くのを始めてBotをオンラインにしてあげましょう!

# Botファイルの作成

お好みのコードエディタを開いてください。(Visual Studio CodeAtomSublime Text、またはあなたが選ぶ他のエディタ)そして新しいファイルを作ってください。もし何を使えばいいかわからなくなってしまったらVisual Studio Codeを使うとよいでしょう。

名前の最後が.jsで終わっていればなんでも構いませんが、index.jsとしてファイルを保存することをおすすめします。

TIP

キーボードのCtrl + Nを押すことで素早く新規ファイルを作成、Ctrl + Sを押すことでファイルを保存できます。

# Discordにログイン

新しいファイルを作成したらすべて正しく設定されているか軽く目を通してください。そして、次のコードをコピーしてファイルに貼り付けて保存してください。今すぐに理解できなくても構いません。このことについては後でもう少し詳しく説明します。

const Discord = require('discord.js');
const client = new Discord.Client();

client.once('ready', () => {
    console.log('準備完了!');
});

client.login('トークンをここに貼り付ける');

コンソールウィンドウに戻り、node ファイル名.jsと入力してエンターを押してください。もし実行して数秒後に準備完了!とメッセージが表示されたら次に進みましょう!そうでない場合は少し戻って正しくすべてを行ったか確認してください。

TIP

毎回のようにファイル名を入力したくないですよね?package.jsonファイルを開き、"main": "index.js"のような記述を探し、"index.js"をあなたのファイル名に変更してください。保存したあとはコンソールでnode .を実行することで簡略化できます。

# 起動させるコードの説明

これはコメントが付いた同じコードなので、何が起きているかわかりやすいでしょう。

// Discord.jsモジュールを読み込む
const Discord = require('discord.js');

// 新しいDiscordクライアントを作成
const client = new Discord.Client();

// クライアントの準備ができた際に実行されます
// このイベントはログインした後に1度だけ実行します
client.once('ready', () => {
    console.log('準備完了!');
});

// トークンを使ってDiscordにログイン
client.login('トークンをここに貼り付ける');

あまり多くないですが、コードのそれぞれが何をするかを知っておくのはいいことです。ただ今はまだ何もしません。特定のメッセージが送信されるたびに実行されるコマンドを実装していきましょう。

# メッセージを待ち受ける

最初に必ず処理を止めましょう。コンソールの中でCtrl + Cを押すと止めることができます。そうしたらコードエディタに戻ってclient.login()の行の上に下のコードを追加してください。

client.on('message', message => {
    console.log(message.content);
});

readyイベントのように.onceではなく.onがどのように使われてるか注目しましょう。それはこれが複数回実行できることを意味します。ファイルを保存してコンソールに戻り、もう1度実行してみてください。Botがアクセスできるチャンネルのメッセージの内容がコンソールに出力されます。試してみましょう。

TIP

コンソール内でキーボードの上矢印キーを押すと最後に実行したコマンドが現れます。処理を止めた後にUpを押してからEnterを押すのは、もう1度実行するのに素早い方法です。(つまり毎回コマンドを打たずに済みます)

# メッセージに返信

コンソールでログを記録するのはよさそうですが、ユーザーへ反応を示すことはありません。実際のコマンドを作成する前に、基本的なping/pongコマンドを作成してみましょう。コードからconsole.log(message.content)を削除して下のコードに置き換えてください。

if (message.content === '!ping') {
    // メッセージが送信されたチャンネルへ「Pong.」を送り返す。
    message.channel.send('Pong.');
}

Botを再起動したら、Botがアクセスできるチャンネルに!pingを打ってください。すべてうまく行けば以下のようになるはずです。

User
User 05/30/2020
!ping
Tutorial Bot
Tutorial Bot Bot 05/30/2020
Pong.

最初のDiscordBotのコマンドが作成できました。すごいことじゃないですか?これは始まりに過ぎません。なのでさらにいくつかのコマンドの作成に移りましょう。

# 結果のコード

If you want to compare your code to the code we've constructed so far, you can review it over on the GitHub repository here .