※herokuのサービスが変わってしまったため、この記事に書かれている一部の内容は間違っているので、分からないことがあれば質問してください。近いうちに書き直します。
discordのbotを作ってみたいと思った事はありませんか。
自分がdiscordのbotと1対1で戯れている姿を想像してみてください。
皆さんはどう感じましたか?
僕は虚しくなりました。
ということで、今回はdiscordのbotを作成する方法と一ヶ月に100時間分だけ反応してくれるという制限はありますが、botを常時稼働する方法を紹介します。
自分はプログラマーではないため、専門用語は分からないし使わないので、ある意味初心者の助けになるかと思います。
しかし、単純なbotを作成する事は出来ますが、様々な受け答えの出来るbotにするにはプログラミングが必要なので、progateやドットインストール等で勉強するか調べてみてください。
まあここでは、とりあえずプログラムを書かずにbotを作ってみたいという方のために書きます。
あ、あと今回のbotはPythonで作ります。
今回使うサービス
discordのbot自体は、Rythm Botを使っている方が多いので分かるかと思いますが、他にもshovelやMee6等があり、それらがbotなので分かるかと思います。
次に常時稼働です。
HerokuとGithubを使います。
100時間の制限があると書きましたが、別に月初めから100時間後には使えなくなるというわけではないです。
自分がbotにメッセージを送ってリアクションしてもらった時に100時間分の数分を使うってだけなので、botが稼働してるだけで100時間後には使えなくなるということはありません。
その点だけ抑えておいてください。
discord botの作成
botの作成方法を紹介します。
discordにログインします。
画像を切り取っているので一部だけですが、右上に'New Application'と書かれた青いボタンがあるかと思います。
それをクリックします。
名前はお好みでどうぞ。後からでも変えられるのであまり気にしすぎなくても大丈夫です。
名前を入力したらCreateをクリックします。
次に'SETTINGS'の欄にあるBotを開きます。
開いたら、Add Botと書かれた青いボタンをクリックします。
確認されるので、Yes,do it!と書かれた青いボタンをクリックします。
画像のような画面が出てくるかと思います。
ICON…discordに表示されるアイコンです。
USERNAME…discordに表示される名前です。
※ICONとUSERNAMEはGeneral Informationの部分にもありますが、そこではdiscordに表示されるアイコンや名前は変えられません。
TOKEN…botの個人情報みたいなものです。
これを他人に教えると悪用される可能性があるため絶対に他言無用です。
(General InformationにあるCLIENT IDやCLIENT SECRETも公開しないでください。)
後で使うので場所を抑えておいて下さい。
PUBLIC BOTから下は基本的に全てオフで大丈夫です。
これで一応botの作成は完了です。
discord botの導入
discord botをdiscord本体に入れます
SETTINGSにある'OAuth2'を開きます。
次にSCOPESと書かれた欄の'bot'にチェックを入れます。
そしたら下にスクロールします。
するとbotの権限を付ける欄が出てくるので自分が追加したい機能にチェックをいれます。
discord bot自体細かく弄っていないため、機能についてぶっちゃけて言うとよく分かりません。
なので、よく分からない方は自分と同じようによく分からないまま画像のようにチェックを入れましょう。
そしたら、SCOPESの欄にあるurlをコピーしてリンクをサイトに貼ります。
すると画像のように自分が追加したいサーバーを選択しろと出るので、自分が管理者権限のあるサーバーだけ選べて、その中から選択します。
選んだら、はいをクリックします。
'Bot Permissons'の欄でチェックを入れた機能がここで確認されます。
もし、追加したくない機能があればここからチェックを外すことも可能です。
確認したら、認証をクリックします。
認証を完了させると、discordのサーバーチャンネルにbotの追加が表示されます。
これで導入は完了です。
GitHubでの設定
gitHubでコードを入手して、自分専用のコードフォルダを作成する方法です。
リンクに入ったら英語がずらずら並んでいるかと思います。
アカウントの作成
まずはアカウントを作成します。
右上にある'Sign up'をクリックしてアカウントを作成します。
これでアカウントの作成は完了です。
個人フォルダの作成
次に個人のフォルダをテンプレートからコピーして作ります。
※ここでは、フォルダ=Repositoryという解釈でお願いします。
'Use this template'と書かれた緑色のボタンをクリックします。
'Repository name'の部分は自分が作ったdiscord botの名前にすると、後々botを沢山作った時に管理が楽です。
'Private'を絶対に選択してください。
Publicにすると、discord botのトークンを直接書いた場合にトークンがバレて悪用される可能性があります。
そしたら'Create repositroy from template'と書かれた緑色のボタンをクリックします。
これで自分専用のフォルダが完成です。
Herokuでの設定
まず、Herokuで個人フォルダを作成します。
※フォルダ=Appという解釈でお願いします。
個人フォルダの作成
まず、リンクに入ってHerokuのアカウント登録をします。
もしHerokuのアカウントを持っている場合はログインしてください。
アカウント登録が出来たら、右側に'New'と書かれたボタンがあるのでそれをクリックします。
そしたら、'Create new app'か'Create new pipeline'と出るので、Create new appを選択します。
'App name'は自分が作ったdiscord botの名前にすると管理がしやすいです。
なので自分は'fuurinbot'にしました。
Choose a regionはUSかEUしかないので、USのままで大丈夫です。
出来たら、'Create app'と書かれたボタンをクリックします。
これで個人フォルダの作成は完了です。
トークンコードの書き込み
'Settings'の'Config Vars'にあるReveal Config Varsをクリックします。
'KEY'と'VALUE'という記入する欄が出来るので、
KEY…DISCORD_BOT_TOKEN
VALUE…自分のdiscord developerサイトにあるトークン
を記入してAddをクリックします。
GitHubとの連携
Deployの欄にある'Deploy method'でGitHubを選択します。
すると'Connect to GitHub'と出るので、そこでGitHubで自分が作ったフォルダ名を入力します。
自分は'fuurinbot'という名前なので、それを入力してSearchをクリックします。
すると、'fuur1n/fuurinbot'と書かれた横に'Connect'と書かれたボタンがあるので、それをクリックします。
次にその下にある'Automatic deploys'にあるEnable Automatic Deploysをクリックします。
Deploysを有効にしたらその下にある'Manual Deploy'のDeploy Branchをクリックします。
少し時間がかかりますが、気長に待ちます。
これで連携は完了です。
常時稼働させる方法
HerokuのResources欄にあるDynosを設定します。
このような画面が出ている方は、サイトのページが更新されてないのでサイトを再読み込みするか開き直して下さい。
画像のような画面が出てきたら、'Free Dynos'と書かれた部分の右側に鉛筆アイコンがあります。
それをクリックします。
すると、スイッチのオンとオフの操作が出来るのでオン(右)に移動させます。
そしたら、Confirmをクリックして完了です。
動作確認
いかがだったでしょうかこれで常にボットがオンラインになっているかと思います。
/pingと入力してみてください。
画像のように返信がちゃんと返ってくれば成功です。
おわり
皆さん出来ましたか?
色々方法は載ってるんだけど、いまいち最適解が分からない。
という方のために、今回は基本的にプログラムを書かないで起動させる方法を書きました。
一人でも多くの方がBOTに手を出してくれる事を祈ります。
ついでに、コメントの受け答えの幅を広げたい方は、GitHubのテンプレートにある'discordbot.py'を開いて、ゴミ箱の横にある鉛筆アイコンをクリックして編集が可能なので、調べてやってみてください。
ここではその方法について書きません。
以上です。
Discord Bot、さいこー!
そんなところです。