目次
Discord Botとは
Discord Botは、さまざまな機能を持ったアプリケーションのようなものです。音楽再生bot、翻訳bot、荒らし対策のサーバー管理botなどがあり、コマンドを使用して操作します。botを導入することで、音楽を聴いたり文章の読み上げ機能を使ったりでき、Discordの利用がより便利で楽しくなります。
Discordに参加しているとさまざまなbotを目にすると思います。
有名どころだとVCでチャットを読み上げてくれる喋太郎やshovel、レベルアップシステムを提供してくれるMEE6などがあります。
Discord Botの仕組み
Discord Botの仕組みとして、少し難しいプログラムを書くことで、Discordサーバーのスラッシュコマンドや会話を読み取り、反応するというのをしています。
また、Discord Botはご自身のPCで稼働させることはできますが、常時オンライン、常時稼働させようとするとPCを付けっぱなしにしないといけません。
そのため、代わりに稼働させてくれるサーバーが必要になってきます。
無料で24時間稼働させようとなったら以前はHerokuなどありましたが、2022/11に無料プランが廃止されました。
なのでHerokuの代わりにCyclic.shというサイトを使いたいと思います。
このように、Discord Botを24時間無料で稼働させようとなると、Discord Bot作りたい人にとっては難しいハードルがたくさんあります。
ということで、今回は初心者でも順番にやっていけば簡単にかつ常時オンライン、無料で稼働させられるDiscord Botを作れる記事を記しました。
今回作成していく上でGitHubアカウント作成は必須になってきます。既に持っている方は下の目次の2番から進めていけば大丈夫です。
GitHubアカウントの作成
https://github.com/ にアクセスし作成していきます。
右上の「Sign up」より作成していきます。
メールアドレス、パスワード、ユーザーネームを入力していきます。
Email preferencesのチェックボックスGitHubからのお知らせメールを受け取るかのチェックになります。不要であれば空欄で大丈夫です。
Verify your accountであなたがロボットでない証明をしましょう。クリアしましたら、Create accountをクリックしてください。
入力したメールアドレス宛に認証コードが届きますので、コピーして貼り付けましょう。
「How many team members will be working with you?」は個人でGitHubを利用する場合はJust me を選択しましょう。
「Are you a student or teacher?」は学生か先生か聞いてます。あなたに合った選択をしてください。
ここは特にチェックなしでも大丈夫です。
今回は無料でGitHubを利用したいので左側の「Continue for free」を押しましょう。
上記のような画面になればGitHubアカウントの作成は完了です。
Discord Botのアプリケーション(アカウント)作成
DiscordのアカウントのようにBotにもアカウントが存在します。
Bot用のアカウントを作成し、Discord Botがそのアカウントにアクセスしてユーザーの会話を取得したり、メッセージを送ったりすることができます。
Botがアカウントにアクセスするためには事前に作成されたシークレットな情報が必要なのでそちらも取得していきます。
https://discord.com/developers/applications にアクセスしてまずはアカウントを作成していきます。
右上の New Application よりアカウントを作成していきます。ちなみにDiscord上ではアカウントではなくアプリケーションと呼ぶので以下よりアプリケーションと呼称致します。
NAMEにはアプリケーションの名前を入力してください。この名前はDiscord上で表示される名前になります。
入力できたら Create を押して次に進みましょう。
作成できるとアプリケーションのダッシュボードに遷移されます。
ここで表示される APPLICATION IDと PUBLIC KEYはこの後利用するのでメモしておきましょう。
あと1つ必要な情報があるので、メモができたら左側のBotというメニューを押してください。
Reset Token を押してください。そうするとReset Tokenボタンあたりに接続に必要な文字列(TOKEN)が出てきます。こちらもメモしておきましょう。
次にBotの権限を設定してきます。
左側メニューのOAuth2を押すとURL Generatorが表示されるのでそちらをクリックします。
すると上記の画面のようになるので、Botとして基本的な権限の「applications.commands」、「bot」、「Send Messages」をチェックします。
チェックすると下のGENERATED URLに文字列が生成されるのでこちらをコピーします。
このURLがサーバーにbotを招待する時に必要になってくるURLになります。
このURLをブラウザに入力して、botをサーバーに招待していきましょう。
入力すると、どのサーバーに追加するか聞かれるので、お好きなサーバーを選択し「はい」を押して追加していきましょう。
追加が完了したら、次にサーバーのIDも必要になってくるので取得します。
Discord(PC版)を開き、ユーザー設定ページにいきます。
詳細設定→開発者モードを有効にします。
有効にしたあと、対象のサーバーのアイコンを右クリックします。
右クリックするとサーバーIDをコピーという項目が出るようになっているので、こちらを押してIDをコピーしてメモしておきましょう。
ここまでで、
- APPLICATION ID
- PUBLIC KEY
- TOKEN
- サーバーID(GUILD IDと言います)
をメモ出来ていたらOKです。
Discord Botの作成(Cyclic)
https://www.cyclic.sh/ にアクセスしてDiscord Botを作成していきます。
右上の「Sign Up」より作成していきます。
GitHubのアカウント作成したばかりでGitHubにログインしたままになっていれば上記のような画面になります。GitHubアカウントにCyclicがアクセスしていいかどうかの認証画面です。
緑のAuthorize cyclic-softwareを押して承諾しましょう。
承諾に完了すれば上記のような画面に遷移します。下記のBotsカテゴリのDiscord Botの Deployボタンを押しましょう。
CyclicとGithubアカウントを繋げこむ設定画面になりました。Connect Cyclicを押して進んでいきましょう。
別ウィンドウが出てきます。貴方のGithubアカウントにstarter-discord-botというリポジトリを作るかどうか聞いてきます。緑色のApprove & install を押して作っていきましょう。
その場合は上記のウィンドウを閉じます。
この画面に戻って、Connect Cyclic を押しましょう。
すると問題なくDiscord Botの構築が進みます。この不具合は作成したてのGitHubアカウントだと出る現象かもしれません。(古いGitHubアカウントだと問題なく進めました。)
上記のような画面になれば、なんとDiscord Botの構築は完了となります。
あとはDiscord Botに入力する情報を取ってきて入力するだけとなります。
ページ中央あたりのenvironment variables consoleというリンクがあるのでそちらをクリックしてください。
接続情報を入力するページに遷移するので、「Discord Botのアプリケーション(アカウント)作成」でメモった情報を入力しましょう。
入力できたら画面右下のSaveを押して保存しましょう。
次に、ボットが実行されているURLをDiscordに伝えないといけないので、このページの上にあるCYCLIC_URLの値をメモしておきます。
また、Discordのアプリケーションのダッシュボードに戻ります。
INTERACTIONS ENDPOINT URL というのがあるので、ここに
[CYCLIC_URL]/interactions
の文字になるように入力します。私の環境ですと、
https://cautious-cow-handbag.cyclic.app/interactions
といった感じになります。入力できたら保存しましょう。
スラッシュコマンドの登録
ここまでできましたらあとはbotが使えるスラッシュコマンドをDiscordに登録するだけです。
今回のbotは
[CYCLIC_URL]/register_commands
のURLにアクセスすることによってソースコードに書かれているスラッシュコマンドがDiscordに登録されます。
今回の場合は、
https://cautious-cow-handbag.cyclic.app/
register_commands
となりますね。
今回のbotにはあらかじめ、
/yo
(あなたの名前を呼んでくれます)
/dm
(あなたのDMにメッセージが届きます)
が登録されているみたいです。
では早速スラッシュコマンドを登録していきましょう。
ブラウザに登録用URLを入力し、成功すると登録したよというメッセージが表示されます。
Discordのサーバーで/を入力すると、登録されたコマンドが確認できます。
それぞれのコマンドを打ってみて、きちんと動作すればDiscord Botの作成と構築は完了です!
最後に
お疲れ様でした!
今回はあらかじめ用意されていたサンプルBotを構築しただけですが、次回の記事ではサンプルにおみくじ機能をつける方法やボイスチャットに参加させる方法などを書けたらと思っています。
これはsafariではできません。