GrayBot-Voiceの環境を構築する方法

#はじめに

こんにちは。WhitePaper所属デベロッパのたぽです。
WhitePaperより先日発表された、GrayBot Projectのひとつ、Discord通話読み上げサービスの環境構築方法を詳しく解説します。
読み上げる方法は2つあります。自分にあった方法を使ってみてください。
①自分でプログラムを動かして、自分でオリジナルのボットを作る。
②用意されたボットをサーバーに導入する
#自分でプログラムを動かす方法
本項目は以下の条件を満たしている前提で執筆します。
1.Node.js(v14.15.0動作確認済み)がインストールされていて、動作させることができる環境がある
2.コマンドプロンプト・シェルをある程度使える
##ダウンロード
[GitHub](https://github.com/WhitePaper-Network/GreyBot-Voice)からプログラムをZipでダウンロードして、解凍して任意の場所に移動する
![スクリーンショット 2021-08-30 122019.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/bc321293-5e1b-f9cc-cc30-353c1a54d554.jpeg)
##Discordボットトークンを取得
[Discord Developer Portal](https://discord.com/developers/applications)にアクセスして、ログインする。
左側のメニューで**Applications**を押す。
![スクリーンショット 2021-08-30 122345.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/7c971f0d-ef4d-7d19-6f78-76dcd75e9e31.jpeg)
New Applicationボタンを押して、Nameを任意のものに設定する。
![スクリーンショット 2021-08-30 122706.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/f9b877cd-ab55-9bf1-bd39-8e4454c5e803.jpeg)
左側のメニューからBotを選択して、Add Botを押す。
![スクリーンショット 2021-08-30 122828.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/e1a08146-b5d7-19b3-da33-932d32d0e950.jpeg)
するとトークンが出てくるので、Copyボタンを押してメモ帳などに貼り付けてメモしておく。
ここのユーザーネームがボットの名前になるので、任意の名前にしておく。アイコンも自由に設定して構わない。
![スクリーンショット 2021-08-30 122939.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/16811574-df1b-aded-756a-1a0c01cef3bc.jpeg)
くわえて、ここでボットをサーバーに招待しておく。
左のメニューから、OAuth2をクリックする。
![スクリーンショット 2021-08-30 153247.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/2642cf96-3bda-4b2a-cb7b-626099121fb5.jpeg)
そこから、一番下までスクロールして、たくさんのチェックボックスの中から、「Bot」というチェックボックスだけをクリックする。
![スクリーンショット 2021-08-30 153413.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/50ba234f-ca5f-97bf-fafc-6969c52db6e3.jpeg)
BOT PERMISSIONSという新しいチェックボックスが増えるので、Administratorだけをクリックする。
![スクリーンショット 2021-08-30 153542.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/3fa52662-bde2-1558-2a72-0c23f8809c40.jpeg)
その上にリンクが出るので、コピーしてアドレスバーに貼り付ける。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/24306dcc-3639-94ce-c8a2-2aa587aabcf0.png)
そうするとこのような表示になるので、追加したいサーバーを選択してはいを押す。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/638fdd19-c941-1570-6d2f-5e1e6503e00c.png)
そのあとは、表示されるとおりに従っていればサーバーにボットが導入される。
##VoiceText Web APIのキーを取得する。
[このページ](https://cloud.voicetext.jp/webapi/api_keys/new)から会員登録をする。
メールにキーが届くので、これもメモ帳にコピーしておく。
##設定
先程解凍したフォルダに戻り、config.jsonを任意のテキストエディタで開く。
Discord Bot Tokenと書いてあるところに先程メモしたDiscordのトークンを、VoiceText API Keyと書かれているところに同じく先程メモしたVoiceText Web APIのキーを入力する。
![スクリーンショット 2021-08-30 123751.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1953419/daa48a9c-fee5-1419-251e-c5ed4d3773a6.jpeg)
##実行の下準備
コマンドプロンプト もしくは PowerShellを開き、cdコマンドで先程解凍したフォルダのディレクトリに移動する。
そこでこのコマンドを実行する。

```shell:コマンドライン
npm i
```
このコマンドで必要なパッケージがインストールされるはずだが、万が一エラーなどが発生している場合は次のコマンドを実行する。

```shell:コマンドライン
npm i discord.js@12.5.3
npm i request
npm i node-opus
```

##実行
先程と同じように、コマンドプロンプト もしくは PowerShellを開き、cdコマンドで先程解凍したフォルダのディレクトリに移動する。
そこで、次のコマンドを実行する。

```shell:コマンドライン
node GRAY_VOICE.js
```
ここで、「VOICE-SYSTEM Started.」と数秒経ってから表示されたら、成功である。
ボイスチャンネルに参加した状態で、読み上げたいチャンネルで「>join」と送信したら、ボイスチャンネルにボットが入ってくる。
#WhitePaperがホストするボットをサーバーに入れる。
[ここ](https://discord.com/api/oauth2/authorize?client_id=876646496945205308&permissions=8&scope=bot)から自分のサーバーにボットを導入してください。基本的に24時間利用できます。
ダウンタイムなどは[こちら](https://discord.gg/v9ECwx8Knf)のDiscordサーバーでお知らせします。ぜひご参加ください。
#さいごに
最後まで見てくださりありがとうございました！
WhitePaperは、みんなが楽しくインターネットライフを送るため今後も便利な情報・ソフトウェアを発信開発していきます。
それでは、失礼致します。