紹介

【初心者向け】Repl.itでDiscordのBotを作る

こんちゃ、ryoです!

結構前ですが、Glitchがプロジェクトの稼働時間を制限しましたよね。

そのせいで、Botを常時稼働出来なくなってしまいました。ふざけんな

その事についてツイートしてたら、とあるサービスの公式アカウントさんからリプが来ました。

そのサービスの名前が “Repl.it” です!

正直、公式さんからリプもらうまでこのサービス知りませんでした()

という事で、Repl.itを使ってDiscordのBotを作ってみましょう!

アカウントを作成

Repl.itのトップページの「Sign up」からアカウントを登録しましょう。

Googleアカウント・GitHubアカウント・Facebookアカウントを使って登録もできます。

後は対話形式でいろいろ聞かれるので適当に答えていきましょう。

Replを作成

ログインした後のホーム画面の左側、「New repl」をクリックして新しいReplを作成しましょう。

言語と名前を設定します。今回はdiscord.jsを使うので「Node.js」にします。名前は適当。

あとは「Create repl」を押せば作成できます。

パッケージのインストール

Repl.itではクリック操作のみで簡単にパッケージをインストールすることができます。

エディター画面のサイドバーの箱アイコンをクリックし、検索窓に「discord.js」と入力。

一番上に出てくるはずなので、それをクリックし、+ボタンを押します。

コンソールに「+ discord.js@(バージョン)」が表示されれば成功です。

コードを書いていく

index.js

index.jsというファイルが既に作成されているので、そこにコードを書いていきましょう。

サンプルコードを用意しました。

// Response for Uptime Robot
/* https://glitch.com/~pumped-chopper からお借りしました */
const http = require('http');
http.createServer(function(request, response)
{
	response.writeHead(200, {'Content-Type': 'text/plain'});
	response.end('Bot is online!');
}).listen(3000);

//色々読み込み
const Discord = require("discord.js");
const client = new Discord.Client();

//token設定(詳しくは後述します)
const token = process.env.DISCORD_BOT_SECRET;

client.on("ready", () => {
  console.log(`Logged in as ${client.user.tag}!`);
  client.user.setActivity("はろー!")
});

client.on("message", message => {
  if (message.author.bot) return;
  if (message.content === "!ping") {
    message.channel.send("Pong!");
  }
});

//Discordにログイン
client.login(token);

Discordのログイントークンをこのファイルに書いてはいけません。

Repl.itの仕様上、誰でも見れてしまうのでセキュリティなんて概念がないからです。

APIキーなども同様です。

なので、Tokenなどの大切な情報は .env ファイルに書いていきます。

.env

ファイル一覧から「Add file」をクリックし、.env と記入。

作成出来たら下の例のように記入してください。

トークンを””などで囲う必要はありません。

DISCORD_BOT_SECRET=NzQzMDkzMT......

アクセストークンは、Discord Developer Portalから取得できます。

やり方はググれば腐るほど出てきます(気が向いたらやり方書くかも)

.replit

先ほどのように「Add file」から、.replit というファイルを作成します。

そして中にこれを書いてください。

run = "node index.js"

これを書くことで、エディター上部のRunボタンが正常に動くようになります。

UptimeRobotの設定

このままでも動きますが、Repl.itでは何もしないと30分でプロセスが終了してしまいます。

Glitchの時にも使っていた、UptimeRobotを使いましょう。

アカウント作成をしてない方はサクッと済ませておいてください。

ログインしたら、「Add New Monitor」をクリックします。

それぞれ、次のように設定します。

  • Monitor Type: HTTP(s)
  • Friendly Name: (適当に名前を付けてください)
  • URL: https://[Replの名前].[Repl.itのユーザー名].repl.co
  • Monitoring Interval 5~30の間(20くらいがおすすめ)

URLに関しては、今回は「ryosan1210」というユーザーネームのアカウントが「djs-tsts-bot」という名前のReplを作ったので、「https://djs-tsts-bot.ryosan1210.repl.co」というURLになります。

アラート通知先は適当にチェックを入れておきましょう。

ここで設定した場所にダウンアラートが届きます。

Botを起動

Repl.itに戻ります。

エディター上部の「Run」を押しましょう。

このように表示されていれば成功です。

ちゃんとDiscordでも反応してますね!

まとめ

いかがでしたか?

Glitch並に簡単にできたかと思います。

今回のReplはこのページで公開しているので、良ければ参考にしてみてくださいね。

じゃあ!

ABOUT ME
鮎月 -Liteyan-
DiscordのBot作ったり、気まぐれで小説書いたりする人。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です