Allium Cafe

Copyright (C) 2010 - 2018 SQUARE ENIX CO., LTD. All Rights Reserved.

Discordをチョット快適な空間にした話(2回目)

2909 views
約 9 分

今回は音楽再生bot(musicbot)を導入します!

Q.そもそもmusicbotってなんだよ

A.VCチャンネル接続者に音楽を流してくれるbotですゾ(そのまま)
コマンドをチャットに入力して、[;;play URL]や[;;play キーワード]でyoutubeとかの音声を再生してくれます。(コマンドはbotにより多少変わります。)

 

fleximg2

実用的でちょっと面白い使い方

試験的に自分のサーバーで行ってるDiscordのbotとかの紹介です。
主に、Twitterの更新を通知する機能、音楽再生botの導入、ウェルカムメッセージbotの導入です。

musicbotを入れてみる(超簡単な方法)

設定無しで入れれるbotがあるので、
特にこだわりが無い場合はこちらを入れてみるのが簡単です。

FredBoat のサイトにアクセスし、Add to Discord をクリックします。

Discord18

そしたら「どこのサーバーに入れるんだよォ!」って聞かれるので、
自分が管理者権限を持っている入れたいサーバーを選択しましょう。

Discord19

終わり!botが無事に入ったのを確認したら閉廷ーッ!

使い方

・[;;play URL]とチャットをすることで、youtubeのURLをVCで流してくれます。
・[;;play キーワード]とチャットをすることで、botがyoutubeを検索し、5つぐらい結果を出してくれます。
その後[;;play 1~5]と選ぶとそれが流れ出します。
・[;;skip]で次の曲、[;;list]で現在のプレイリスト、[;;stop]で停止します。
その他は公式なり[;;help]とかでコマンド見てみてくだせぇ。

参考の使い方動画

musicbotを入れてみる(ちょっと手間かかる版)

こちらは、「自分でデフォルトのプレイリスト機能も欲しい!」とか「ニコニコとかTwitterの動画も流したい!」とか
アレやこれしたい方向けの解説です。

やや専門性を伴う部分もあるため、そういうのは苦手だなぁ~って方には非推奨です。

用意するもの

1.Python 3.5.1
2.テキストエディタ(デフォルトで入ってるワードパットとかでいいです。個人的にはSublime TextとかATOMとか好きですけど完全にお仕事の話になりそうなので割愛。要するにメモ帳じゃなけりゃなんでも。)
3.musicbotの本体

導入

1.Python 3.5.1をインストールします。
お使いの環境によって、64bit、32bitを間違えないように注意しましょう。
今回はPython3.5.1の過去のバージョンをインストールします。

Pythonをインストールする際は[Install launcher for all users (recommended)]及び[Add Python 3.5 to PATH]
チェックを入れましょう。

2.Discordの開発者ページへアクセスします。

New appからアプリケーションを作成し、色々入力しましょう。
​APP DESCRIPTIONやAPP ICONは設定してもしなくても大丈夫ですが、APP NAMEは必須となります。

Discord20

色々記入が出来たら、右下のCreate Appをクリックしてアプリケーションを作成します。

Client ID及び、Client Secretはそこから悪用される可能性があるため、キャプチャーを撮る際は注意しましょう。

Discord21

3.TOKENをoptions.iniに貼り付けます。

ここに表示されているTokenをコピーしましょう。

Discord22

Musicbot本体のconfig/options.iniをテキストエディタで開き、
CredentailsのTokenに先程コピーしたTokenの文字列をペースト。

[Credentials]
; Put your token here. Not “secret”. The secret is not the token.
Token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX←ここにトークンを貼り付け
; If you want to use a normal user account instead of a bot account, use these lines instead.
; Comment the token line and uncomment the Email/Password lines.

4.Discord側の開発者モードを有効化にします。

Discordの設定 > テーマ > 開発者モード にチェック

Discord23

5.自分のIDをoptions.iniに貼り付けます。

適当なサーバーに入り、自分のアイコンを右クリックし、「IDをコピー」しましょう。

Discord24

再びoptions.iniに戻り、[Permissions]に自分のIDをコピーしましょう。

[Permissions]
; This number should be your id. It gives you full permissions. You do not put the bot’s id here. That’s silly.
; If you don’t know how to get this, scroll up a bit and read the part that says “HOW TO GET VARIOUS IDS”
; If you can’t do that for some reason, join the help server (invite in the readme) and type this in chat: !id
; If you still don’t understand, watch this https://streamable.com/4w8e and may your respective deity have mercy on your soul.
; I don’t want any more “how do I get the OwnerID” questions.
OwnerID = XXXXXXXXXXXXXXXXXXXXXXXXXXX ←ここにIDを貼り付け

ここでoption.iniはお役目終了のため、上書き保存し閉じちゃって大丈夫です。

この状態で一度run.batを起動してみましょう。

ですが、この状態ではbotにサーバーのアクセス権がないので、それの設定を行います。

6.botにサーバーアクセス権を付与する

https://discordapp.com/oauth2/authorize?&client_id=CLIENT ID&scope=bot&permissions=0

へアクセスします。が、CLIENT IDの部分にはAPP DETAILのCLIENT IDを入れてください。

Discord25

botを入れたいサーバーを選べば一旦終わりです。

あとはconfig/autoplaylist.txt のURLを最初は自動で再生し始めます。

7.サブオプションを入れておきましょう。(任意)

他のユーザーがbotを使って音楽を流したい、という場合は導入しておきましょう。必須ではないため、お好みで設定しましょう!

musicbot/configpermissions.iniをテキストエディタで開き、他のユーザーもコマンドを受け付けるようにwhitelistにコマンドを記入します。
whitelistに書かれているコマンドは他のユーザーも使用可能となります。

[Default]
CommandWhitelist = play skip search blacklist clean clear disconnect id joinserver listids np pause perms pldump queue restart resume setavatar setname setnick shuffle shutdown summon volume help
;
CommandBlacklist =
IgnoreNonVoice =
; GrantToRoles =
; UserList =
MaxSongLength = 1200
MaxSongs = 0
AllowPlaylists = yes
; MaxPlaylistLength = 20
InstaSkip = yes

よく使うコマンド

!help
コマンド一覧がでてきます。
!queue
今の再生中の曲や、再生予定の曲、プレイリストの時間等教えてくれます。
!play [url]
[url]の曲を流してくれます。ニコニコは後ほど解説。
!np
今再生してる曲を教えてくれます。
!shuffle
プレイリストの曲をシャッフルして再生します。
!pause
曲の一時停止です。
!resume
一時停止を解除します。
!volume [number]
音量調整です。[]内に1-100の数字範囲内で調整できます。
!summon
BOTを今いるボイスチャンネルに呼び出します。

8.ニコニコ動画のURLも流せるようにしてみよう(非推奨)

こちらのサイトに詳しい解説があるので、御覧ください。

以下引用

MusicBotは内部でyoutube-dlというプログラムを呼び出しているのでそれにログイン用のメアドとパスワードを渡してあげれば上手く行きそうです。

それを呼び出しているプログラムがMusicBot/musicbot/downloader.pyです。

このファイルを編集します。

8行目から始まっているytdl_format_optionsの中にusernameとpasswordという項目を書き足すだけです。
(カンマのつけ忘れに注意)

まとめ

簡単な方法と、やや手間がかかる方法と書いてみました。

後述の手間がかかる方法は、もちろん作成者がrun.batを起動している状態でないと動作しません。

お使いのサーバーや作成者のお好みで使い分けて見てください!

それではまた次回、今度はサーバーに初めて参加した時にウェルカムメッセージを出すbotを作成します!

LEAVE A REPLY

*
*
* (公開されません)