0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【discord bot】失われたRhythm botを無料で復活させる

Posted at

2021年9月15日 discord rhythm bot 終了...

discord botで有名なrhythmが終了してしまい、なんとか自分のサーバーでホストできないかと調べ始めたのが経緯です。

もちろん今の時代 〇〇 github と検索かければソースコードなんてすぐみつかるだろうと思い検索してみると案の定見つかりました!

※本家rhythmとは違います。

ローカル動作確認

エラーがいくつか出ましたがなんとか動いてdiscord botとも連携させることに成功しました!

本題ではないため簡単にまとめておきます。

os: windows10 home

git clone https://github.com/Malexion/Rhythm-Bot

cd Rhythm-Bot

npm install --global --production --add-python-to-path windows-build-tools

# 途中で止まってスタッキング
# https://github.com/felixrieseberg/windows-build-tools/issues/208
# によると...

npm install --global --production --add-python-to-path --vs2015 windows-build-tools

# 正常にインストール完了

npm install node-gyp -g
npm install typescript -g

npm install

# エラー発生
# 抜粋: VCINSTALLDIR not set, not running in VS Command Prompt
# https://github.com/nodejs/node-gyp/issues/2203

set VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\
npm config set msvs_version 2017 --global

npm install

./bot-config.json

{
    "discord": {
        "token": "tokenをdiscord developerから入手"
    }
}
npm start

ここで !join, !searchなどが使えるようになり実際にチャンネルに入ってくれます。

しかし!playをしても歌ってくれません...

logを見ると、ffmpegのエラーがでたのでinstallします。

# https://stackoverflow.com/questions/60925319/i-am-getting-this-error-ffmpeg-avconv-not-found

npm i ffmpeg-static

npm install
npm start

ここで自分の環境では正常に動くようになりました!

途中でpermissionのエラーが出ましたがdiscordの設定でbotに管理者権限を付与すると解決しました(チャンネルにbotを招待する段階できかれる)。

discord bot関係の設定(token取得、チャンネル招待のやり方)はこちらを参考にしました。
https://qiita.com/yuto0214w/items/1ecee25efca6b5b7445b

デプロイする

このままでは自分のpcをつけっぱなしにしておかないといけません...

なので複数人いるサーバーで皆で使いたいとなるとこのままでは使い勝手が悪いです。

お金はかけたくないので今回はherokuを使うことにしました。

githubを見ているとPR段階ですがコンテナ化して使いやすくしてくれている人がいたのでこちらを使います。

ソース: https://github.com/dudeofawesome/Rhythm-Bot/tree/feat/containerize-and-format

PR: https://github.com/Malexion/Rhythm-Bot/pull/57

git clone https://github.com/dudeofawesome/Rhythm-Bot/tree/feat/containerize-and-format

し、ContainerfileをDockerfileに名前変更します。(heroku container:pushするため)

cd Rhythm-Bot
heroku create app-name #任意
heroku git:remote -a app-name
heroku config:set DISCORD_TOKEN=取得したtoken
heroku container:push worker
heroku container:release worker

# worker process が動いていなればheroku ps scaleでonにしましょう。

これだけでデプロイできました!思ったよりすんなりいってびっくりです。

たまにbotの歌い始めにノイズが入ることがあるくらいで音質などは違和感なく使えています。(herokuの無料枠だから仕方ない(?))

rhythm bot をまた使いたい方は是非試してみてください!

注意: 各ソースコード、github リポジトリは2021/10/1の状態です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?