[Bug Report] Doesn't seem to play anything
Closed this issue ยท 40 comments
Bug Description
The bot doesn't seem to play anything. When I call the bot in discord, it would reply "Added (song title) to begin playing". But there are no audio and if I check nowplaying, it would say there must be music playing to use that. Checked the console and this is all it shows:
[16:23:25] [INFO] [JMusicBot]: Loaded config from D:\musicbot\config.txt
[16:23:25] [INFO] [JDA]: Login Successful!
[16:23:25] [INFO] [WebSocketClient]: Connected to WebSocket
[16:23:25] [INFO] [JDA]: Finished Loading!
[16:23:33] [INFO] [YoutubeAccessTokenTracker]: Updating YouTube visitor id (current is null).
[16:23:33] [INFO] [YoutubeAccessTokenTracker]: Updating YouTube visitor id succeeded, new one is CgtqSjY4aVdscmx1RSjF0rGwBjIKCgJVUxIEGgAgUToKIPi3le_RqJqGZg%3D%3D, next update will be after 600 seconds.
Steps to Reproduce
- Launch the bot
- Use the play command in discord
- No audio despite the bot responding
Expected Result
The bot is "half alive" it will look like it works but it won't do anything(no audio)
Debug Output
System Properties:
java.version = 11.0.21
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.version = 11
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 11.0.21+9-LTS-193
java.specification.version = 11
os.arch = amd64
os.name = Windows 10
JMusicBot Information:
Version = 0.4.0
Owner = ( Removed by me, but it shows my discord ID)
Prefix = ?
AltPrefix = null
MaxSeconds = 0
NPImages = false
SongInStatus = true
StayInChannel = true
UseEval = false
UpdateAlerts = true
Dependency Information:
JDA Version = 4.4.1_353
JDA-Utilities Version = 3.0.5
Lavaplayer Version = 727959e9f621fc457b3a5adafcfffb55fdeaa538-SNAPSHOT
Runtime Information:
Total Memory = 254
Used Memory = 143
Discord Information:
ID = 901305000062484520
Guilds = 3
Users = 3
Additional Info
No response
Checklist
- I have looked for information about this within the documentation
- I have searched for similar issues on the issues page
- I am running the latest version of the bot:
Can also confirm.
This happens with the latest version 0.4.0.
However you can bypass the issue by using the previous version JMusicBot-0.3.9
Can confirm aswell
same
Same situation here, after downgrading to version 0.3.9 everything works fine.
Same URL:
on 0.4.0 - ๐ซ Error loading: Video returned by YouTube isn't what was requested
on 0.3.9 - works perfectly fine
Same here. Downgrading to 0.3.9 works.
can confirm, issue is with 0.4.0, downgrade worked
Same issue here. Waiting for a fix before updating.
same issue using 0.4.0
downgrading to 0.3.9 works well
Also experiencing this.
java 17.0.6 2023-01-17 LTS
Downgrading fixed for me as well. Downgrading.
Been getting a lot of "Error loading: Video returned by YouTube isn't what was requested " as of late.
Nothing in the logs indicates what the real error is, let alone what the output was.
Is there a way to drop it into debug logging to see those outputs?
I am also having this issue, although I have found that it isn't a global won't play anything issue but only with youtube. I tested both Soundcloud and twitch stream audios and those worked just fine.
Same and I can't downgrade on my server because its running as service and I can't be there to skip the "new update" everytime it starts. Hope it gets fixed soon
Youtube will not playback on 0.4.0 with macOS 14.4.1, Soundcloud still works with 0.4.0. I wonder if it is related to this warning from the terminal when running the jar file (MacOS 14.4.1 Sonoma latest release):
WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:.
Likely not as that warning is still present on 0.3.9.
I can confirm that 0.3.9 still works and can playback YouTube music, so I think this is likely something to do with the latest MacOS release and 0.4.0 only.
Can confirm same issue, downgrading to 0.3.9 fixes the issue
Downgraded and now the bot sends me a discord PM frequently telling me about a new version
Downgraded and now the bot sends me a discord PM frequently telling me about a new version
Yo can change that in the config file, just read the manual.
Downgraded and now the bot sends me a discord PM frequently telling me about a new version
add updatealerts=false to your config.txt file :)
Will this be resolved in 4.1.0?
I can confirm, for me doesn't work on Ubuntu (haven't tested on Windows)
It seems to be an issue with how version 0.4.0 handles ingest from YouTube, as other ingest sources still work. Id imagine version 0.4.1 would include a rollback/fix to YouTube as the previous version of 0.3.9 works well.
A rollback will lead to the 403 issues that plagued the extremely-outdated lavaplayer build in 0.3.9; we're going to wait for a proper fix for this from the new lavaplayer fork
There's an open pull request at lavalink-devs/lavaplayer#88 that fixes this issue. I've made a build of JMusicBot on my fork that includes the changes of that pull request. You're welcome to try that version out & use it as a temporary stop-gap solution until 0.4.1 comes out.
The release is on my fork & is provided as-is. No support is provided here. Do not report issues of my fork on here.
just to add my 2 cents, I got called in by a friend to help troubleshoot his music bot on 0.4.0 version after he upgraded on Windows 10. Tried lots of things, but had to downgrade to get it to work. One difference between version 0.4.0 and 0.3.9 that I noticed is that when the 0.4.0 music bot joined the voice channel, it had the "deafened" status symbol. We could find no permission concerning this in the settings file or on Discord. I don't know if it is related to us not hearing the audio.
just to add my 2 cents, I got called in by a friend to help troubleshoot his music bot on 0.4.0 version after he upgraded on Windows 10. Tried lots of things, but had to downgrade to get it to work. One difference between version 0.4.0 and 0.3.9 that I noticed is that when the 0.4.0 music bot joined the voice channel, it had the "deafened" status symbol. We could find no permission concerning this in the settings file or on Discord. I don't know if it is related to us not hearing the audio.
this has nothing to do with what you hear, its a privacy quality of life feature to show that the bot is not listening to you and potentially recording private data
just to add my 2 cents, I got called in by a friend to help troubleshoot his music bot on 0.4.0 version after he upgraded on Windows 10. Tried lots of things, but had to downgrade to get it to work. One difference between version 0.4.0 and 0.3.9 that I noticed is that when the 0.4.0 music bot joined the voice channel, it had the "deafened" status symbol. We could find no permission concerning this in the settings file or on Discord. I don't know if it is related to us not hearing the audio.
this has nothing to do with what you hear, its a privacy quality of life feature to show that the bot is not listening to you and potentially recording private data
Actually, the "deafened" status is purely visual and doesn't prevent a bot from recording you. Only the "server deafened" status actually prevents a bot from receiving audio.
looks like lavalink-devs spun off youtube support into a separate project under https://github.com/lavalink-devs/youtube-source and will not be updating the base lavaplayer
Having the same issue, hopefully fixed soon! Rollback to 3.9.0 for now.
Must be the deafened state that is the problem here. It prevents a user from sending audio, so the same thing might be happening with the bot.
Must be the deafened state that is the problem here. It prevents a user from sending audio, so the same thing might be happening with the bot.
No. Deafening the bot is for audio only. The bot doesn't need to hear you speak audibly. Theoretically saves bandwidth because no audio is transmitted to the bot.
Must be the deafened state that is the problem here. It prevents a user from sending audio, so the same thing might be happening with the bot.
No. Deafening the bot is for audio only. The bot doesn't need to hear you speak audibly. Theoretically saves bandwidth because no audio is transmitted to the bot.
While deafening is unrelated to this issue, deafening doesn't save any bandwidth because the bot still receives audio when deafened. Only server-deafening actually saves bandwidth.
looks like lavalink-devs spun off youtube support into a separate project under https://github.com/lavalink-devs/youtube-source and will not be updating the base lavaplayer
Thank you for bringing this up! I opened #1552 yesterday to switch to the new source manager, it'll come with 0.4.1.
Until 0.4.1 gets released, I've already made a build of this on my fork for anyone who needs JMusicBot working right now.
No. Deafening the bot is for audio only. The bot doesn't need to hear you speak audibly. Theoretically saves bandwidth because no audio is transmitted to the bot.
I feel like we don't understand each other here. I am simply saying that when I deafen myself in discord, it automatically also mutes me. You cannot have your outgoing audio enabled when deafened as a user. This leads me to believe that for a bot the same thing applies, when deafened: The bot cannot send outgoing audio like a deafened user
Hi @Snailpower, deafening just makes you stop hearing other users, you can still transmit audio regardless. You can try this by playing any SoundCloud link, or by using the ?play
command with a mp3 file attached.
The bot just struggles playing YouTube videos atm, as YouTube has been seriously cracking down on 3rd party clients like JMusicBot. We have a fix for this ready & will release 0.4.1 hopefully soon
What is the status of this issue? Is it safe to upgrade from 3.9 to 4.0?
What is the status of this issue? Is it safe to upgrade from 3.9 to 4.0?
If you are using Arch Linux: @MichailiK 's pull request has been integrated into the Arch Linux jmusicbot AUR package, YouTube playback works for me now on that platform.
Is there an argument I can use to click the okay for the popup message telling me there is a new version? I usually run the bot using task scheduler, but 0.3.9 doesn't boot because it gets stuck at that message.
Is there an argument I can use to click the okay for the popup message telling me there is a new version? I usually run the bot using task scheduler, but 0.3.9 doesn't boot because it gets stuck at that message.
That would likely be the -Dnogui=true
switch. Example, assuming Windows because you mentioned "task scheduler":
C:\path\to\java.exe -Dnogui=true -jar C:\path\to\jmusicbot.jar
Argument position is important; -Dnogui=true
must be specified before -jar
.
Yeehaw, Lavalink patch merged: #1552
Think we can expect an update soon! =)
Should be fixed as of 0.4.1
Can confirm, works!
And thus, I could finally make this.
k3s deployment!
apiVersion: v1
kind: Namespace
metadata:
name: musicbot
---
apiVersion: v1
kind: ConfigMap
metadata:
name: musicbot-cm
namespace: musicbot
data:
config.txt: |-
token = <snip>
owner = 472415352513626113
prefix = "!"
game = "An old ode~"
npimages = true
stayinchannel = true
alonetimeuntilstop = 900
aliases {
// General commands
settings = [ status ]
// Music commands
lyrics = []
nowplaying = [ np, current ]
play = [ p ]
playlists = [ pls ]
queue = [ list ]
remove = [ delete ]
scsearch = []
search = [ ytsearch ]
shuffle = []
skip = [ voteskip ]
// Admin commands
prefix = [ setprefix ]
setdj = []
settc = []
setvc = []
// DJ Commands
forceremove = [ forcedelete, modremove, moddelete ]
forceskip = [ modskip, next, fs ]
movetrack = [ move ]
pause = []
playnext = []
repeat = []
skipto = [ jumpto ]
stop = []
volume = [ vol ]
}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: musicbot-pvc
namespace: musicbot
spec:
storageClassName: nfs-bunker
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Mi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: musicbot-app
namespace: musicbot
labels:
app: jmusicbot
spec:
replicas: 1
selector:
matchLabels:
app: jmusicbot
template:
metadata:
labels:
app: jmusicbot
spec:
volumes:
- name: config-vol
configMap:
name: musicbot-cm
- name: data-vol
persistentVolumeClaim:
claimName: musicbot-pvc
initContainers:
- name: write-config
image: alpine:3.19
command:
- /bin/cp
- -v
- /tmp/musicbot-cm/config.txt
- /opt/jmusicbot/config/config.txt
volumeMounts:
- name: config-vol
mountPath: /tmp/musicbot-cm
- name: data-vol
mountPath: /opt/jmusicbot/config
containers:
- name: app
image: bas0korver/jmusicbot:0.4.1
volumeMounts:
- name: data-vol
mountPath: /opt/jmusicbot/config