前提・実現したいこと
Discordrbを使ってDiscordのbotを作り、herokuで動く常駐プログラムを作った。
コマンドbotとしては十分だが、次はVoice channelに接続して音楽を流せるようになりたい。
発生している問題・エラーメッセージ
herokuの環境にlibsodiumをインストールする方法がわからない。
下記のログはherokuでdynoを再起動しアプリケーションが起動した時のログです。
下から3行目にあるようにDiscordrbがVoiceChannelに接続し音を出すのにlibsodiumが必要なようです。自分のmacだと
brew install libsodium
で解決できたのですが、herokuではどうすればいいか分かりません。
2019-06-30T15:51:37.792198+00:00 heroku[bot.1]: Restarting 2019-06-30T15:51:37.797314+00:00 heroku[bot.1]: State changed from up to starting 2019-06-30T15:51:38.430033+00:00 heroku[bot.1]: Stopping all processes with SIGTERM 2019-06-30T15:51:38.500499+00:00 heroku[bot.1]: Process exited with status 143 2019-06-30T15:51:39.284385+00:00 heroku[bot.1]: Starting process with command `bundle exec ruby app.rb` 2019-06-30T15:51:40.108912+00:00 heroku[bot.1]: State changed from starting to up 2019-06-30T15:51:42.788785+00:00 app[bot.1]: libsodium not available! You can continue to use discordrb as normal but voice support won't work. 2019-06-30T15:51:42.788803+00:00 app[bot.1]: Read https://github.com/meew0/discordrb/wiki/Installing-libsodium for more details. 2019-06-30T15:51:42.788807+00:00 app[bot.1]: [INFO : websocket @ 2019-07-01 00:51:42.788] Discord using gateway protocol version: 6, requested: 6
試したこと
herokuのカスタムbuildpackでlibsodiumを追加すれば解決できると思い、
terminal
1# libsodiumのカスタムビルドパックを追加 2$ heroku buildpacks:add https://github.com/challengee/heroku-buildpack-libsodium.git 3 4# Discordrbをインストールし直したい 5$ heroku bundle install
を実行しdynoを再起動したが、__$ heroku logs__では上と同じエラー文が出た。
herokuでどうすれば完全なDiscordrdを使えるようになれるのかご教授ください。
補足
Gemfile, Procfile, $heroku buildpacks
Gemfile
1# frozen_string_literal: true 2 3source "https://rubygems.org" 4 5git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } 6 7ruby '2.6.3' 8 9gem "discordrb" 10gem "dotenv"
Procfile
1bot: bundle exec ruby app.rb
terminal
1$ heroku buildpacks 2=== #botname Buildpack URLs 31. https://github.com/challengee/heroku-buildpack-libsodium.git 42. heroku/ruby

回答1件
あなたの回答
tips
プレビュー