2018/9/3 更新
Discordサーバー建てました!
質問等があればこちらでどうぞ。

色々ややこしかったのでまとめました。

注意書き


必要なライブラリ・ソフトウェア


  • libsodium.dll (libsodium-1.0.12-msvc.zip)
  • opus.dll (opusfile-0.7-win32.zip)
  • FFmpeg (ffmpeg-3.2.4-win32-static.zip)

が必要なのでそれぞれダウンロードしなければいけません。
カッコ内に今回使ったファイルを記載しています。

1. libsodium.dllのダウンロード


libsodium

  1. ここから最新版のlibsodium-X.Y.Z-msvc.zip(X.Y.Zはバージョン情報)をダウンロードする。
  2. ダウンロードしたzipファイルから、Win32/Release/v120/dynamic/libsodium.dllを抜き出して、Botのプログラムと同じフォルダに展開する。

2. opus.dllのダウンロード


opus

  1. ここから最新版のopusfileをダウンロードする。
    最新版では動かないようなので、ここからopusfileの0.7をダウンロードする。
  2. ダウンロードしたzipファイルから、libopus-0.dllを抜き出して、Botのプログラムと同じフォルダに展開する。
  3. libopus-0.dllからopus.dllにファイル名を変更する。

3. FFmpegのダウンロード


ffmpeg

  1. ここから、安定版をダウンロードする。
  2. 適当なフォルダ(今回はC:\ffmpeg)に展開する。
  3. C:\ffmpeg\binの環境変数(PATH)を通す。
  4. cmdでffmpeg -versionを打ってみて、PATHが通っていることを確認する。

4. テスト用のプログラムのダウンロード・編集


  1. ここからvoice_send.rbをダウンロードしてくる。(Rawボタンを右クリックして名前を付けて保存)。
  2. voice_send.rbの6行目に以下のコードを加える。
    ::RBNACL_LIBSODIUM_GEM_LIB_PATH = 'libsodium.dll'
    
  3. voice_send.rbの9行目のtoken、client_idの部分を自分のBotのものに書き換える。
  4. voice_send.rbの34行目に再生したいmp3ファイルを指定する
    voice_bot.play_file('data/fuwafuwa_time.mp3')
    
  5. cmdで実行する。

5. 動作テスト


テスト

  1. Botが追加されているサーバーでボイスチャンネルに入る。
  2. チャットで!connectコマンドを打って、Botがボイスチャンネルに入ったことを確認する。
  3. チャットで!play_mp3コマンドを打って、音声が聞こえることを確認する。

以上、discordrbで音声機能を使う方法でした。

広告