museofficial / muse

🎧 a self-hosted midwestern Discord music bot that doesn't suck
MIT License
865 stars 224 forks source link

Music doesn't play through bot. when requested but says the song is active in the /now-playing command #955

Closed sarayuuki closed 2 months ago

sarayuuki commented 1 year ago

What's happening? filled in .env. went to google cloud activated youtube data api v3. got api key. but refuses to work. as in /play works but doesnt play audio at all.

Logs Don't know how to turn on debug mode.

Screenshots If applicable, add screenshots to help explain your problem.

Additional context Add any other context about the problem here.

Runtime I'm running Muse:

Versions

codetheweb commented 1 year ago

Please fill in the logs as requested. A description of your host machine would also be useful. There's not enough information to help.

definedlegend commented 1 year ago

I'm getting this same issue. I just installed it on my webserver, added it to discord, and have been trying to get it to play audio for the last couple of hours with no luck. I look in the logs for the bot when telling it to play audio and it doesn't show anything in the logs. I even tried adding a port to the docker compose and the forwarded that port on my firewall but it didn't make a difference(mapped to external port 8293 going to internal port 80, as external port 80 is already mapped to another application so I can't map that port). Is there anything special I need to do if I run my webserver behind Nginx Reverse Proxy?

I can run the commands to pull settings for the bot so it communicates. It acts like it is "playing" but no audio actually plays for any Spotify or YouTube request.

I am running it in Docker under Debian 11, Node.JS v16.20.2 as v16.x is recommended. Also running ffmpeg v4.3.6(newest version for Debian 11) . I installed it via the docker compose.

codetheweb commented 1 year ago

You don't need to forward any ports. Is it possible the permissions on your Discord guild are preventing Muse from transmitting voice? Does the same Discord bot token work with a different self-hosted music bot?

definedlegend commented 1 year ago

I figured it out!

I had to forward the dynamic port range 49152-65535 in my firewall for incoming traffic.

I had tried another music bot and that didn't work until I discovered about lthe dynamic ports. I opened those ports and instantly the music started flowing through which makes sense cause otherwise if only ports for certain applications are opened normally with all other ports blocked how would the bot be able to communicate to give the request to the bot?

Maybe add that to a troubleshooting guide for if there is no audio coming thru but it shows playing then check if the dynamic port range 49152-65535 is opened for internal traffic!

On Mon, Aug 21, 2023, 7:38 PM Max Isom @.***> wrote:

You don't need to forward any ports. Is it possible the permissions on your Discord guild are preventing Muse from transmitting voice? Does the same Discord bot token work with a different self-hosted music bot?

— Reply to this email directly, view it on GitHub https://github.com/codetheweb/muse/issues/955#issuecomment-1687328062, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBSCNBMM7QETGQDWOUDLFZLXWQLR3ANCNFSM6AAAAAA2OFHEXY . You are receiving this because you commented.Message ID: @.***>

GrantBirki commented 9 months ago

:wave: Hey @definedlegend! I just stumbled across your comment and I'm having the exact same issue as you.

I have the following setup:

I use ufw for my Linux firewall and I'm having a hard time following the steps that you took in order to configure my firewall to get this bot to run.

Can you please provide some steps as to what I need to do so that my bot can play music correctly? I would really appreciate it, thank you in advance! :heart:

GrantBirki commented 9 months ago

Update: It was indeed somewhat related to my cloud provider's network layer firewall. I fixed it and documented what was happening here

simawn commented 3 months ago

I had the same issue using Docker and got it working after running sudo ufw allow 50000:65535/udp on my server