2
3

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のMusicBot(リピート機能付き)を無料VPS+CentOS7で構築

Last updated at Posted at 2019-03-24
…ほとんど他記事紹介です

でもリンク先の手順通りだと所々ハマってしまったので忘備録。初投稿。Linux初心者。

追記(2019/05/31)###

現在動作確認が取れていません。
素直に公式が推奨するDebian系で構築したほうが時間の浪費にならずいいかもしれません。

追記(2020/10/26)###

一部表現・コマンドを見直しました。
現在CentOS8が出ていますが、私は完全にUbuntuに乗り換えてしまったので動作確認は他の方にお任せします、、、

GCPとGCEの登録・サーバ(インスタンス)の作成

ほとんどこちらを参考にしました。

[【GCP-GCE】無料で永遠に信頼出来るVPSを使用できちゃう!]
(https://22musyoku.tokyo/gce-always-free/)

ただしこのマシン、永年無料だけが取り柄でPythonをインストールすると途中でブーストが切れるために結果15分以上かかったりとかなり使い勝手は悪いです。
GCPは新規に使い始めると1年間有効な300ドル分のクレジットが貰えるため、25ドル/月に収まるようなマシンを借りて試すことをお勧めします。
vCPU×1にメモリ1GBもあればこの用途では十分です。(ストレージはSSDにするとより快適)
同じ無料でも最大5倍程度のスペックアップが見込めます。

MusicBotサーバの構築

これが難しかった。何気に趣味とはいえ実運用するサーバの構築がこの時初でして、かなり手間取りました。
参考サイトはこちら。(この参考サイトを見ながら進めていきました)

[【CentOS7 VPS】 Discord Musicbotの導入と常時オンライン化]
(https://qiita.com/Trouble_SUM/items/9282160bc8e28b0034d1)

まずは既に入っているソフトのアップデート。それから色んなもののインストール。

$ sudo yum -y update
$ sudo yum -y install git gcc gcc-c++ kernel-devel libffi-devel

ffmpegのインストール

これに手こずりました。。。
上記事さんの「さらに」の部分から「あとは適当な~」の直前まではカット。
代わりに以下URLの手順でやります。

[CentOS7にffmpegをyumインストール]
(https://qiita.com/snoguchi/items/d12f0407075d7978925c)

$ sudo yum -y install epel-release
$ sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
$ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
$ sudo yum -y install ffmpeg ffmpeg-devel

既にインストールされているものは Error: Nothing to do. と出てきます。無視して大丈夫です。
導入確認。バージョンっぽいものが出てくればOKです。

$ ffmpeg -version

リピート機能を含んだMusicBotのダウンロード

cd github まで進んだら一旦ストップ。
実はオリジナル版MusicBotにはリピート機能は実装されていません。無くてもいいのですがあったらかなり便利・・・
…ありました。こちらを参考にします。

[discordだけでTRPGボイスセッション環境を整える]
(https://qiita.com/C0ela/items/f2423f7cad7741152c57)

$ git clone https://github.com/Just-Some-Bots/MusicBot.git
$ cd MusicBot
$ git fetch origin pull/486/head:music-bot-id-486
$ git checkout music-bot-id-486

4行実行し終わったら cd ../ で元のディレクトリに戻っておきましょう。

Pythonのインストール

基本上記事さんの通りです。
しかしリピート機能を導入する場合、3.5以前を導入してください。
3.5.xまででしか動かせないとの情報。実際に3.7.2で確認しましたが動作しませんでした。
3.5.xの最新Verである3.5.7(2019/03/24現在)で話を進めます。

$ sudo yum -y install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel
$ cd ~/github
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ vim ~/.bash_profile

Vimで以下を追記。先頭でも末尾でも良さそうです。Vimも最初は慣れませんでした。

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

続けて以下を実行。

$ source ~/.bash_profile
$ pyenv install 3.5.7
$ cd ~/github/MusicBot
$ pyenv local 3.5.7
$ pyenv rehash

導入確認です。3.5.7になっていれば大丈夫です。

$ python --version

Discord側でのbot作成~構築完了

ここからはほとんど上記事さんの通りで問題ないようです。
Discordに使い慣れていない限り迷うことは少なめに思えます。手順を間違えなければ…
初回起動時に実行されるPyNaCl+αのインストールが意外と時間かかります。

まとめ

海外サーバでも目立って音が切れることもなく快適です。

この使い方なら(ターミナルの操作遅延以外は)永年無料のサーバでも特に問題ないですが、応答時間が重要なWebサーバ用途等にはあまり向きませんね。ping値は地理的な限界で常に100ms以上です。

[GCP ping]
(http://www.gcping.com/)

最近はvCPU×1+メモリ1GB+SSD20GBで400円/月程度の国内VPSサービスがありますね。~~気になる・・・~~ 記事執筆後に使ってみました。普通に使えるのでコスパ優先ならおすすめです。 https://web.arena.ne.jp/vps-cloud/

その他参考

[Markdown記法 チートシート]
(https://qiita.com/Qiita/items/c686397e4a0f4f11683d)

その他不備などありましたらお気軽にコメントお願いします。

2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?