[Bug Report] Forceremove doesn't work if user leaves voice channel
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 2.8k
- PR merge metrics
- No merged PRs in 30d
Description
### Bug Description
If a user adds songs to the queue and then leaves the voice channel, `forceremove` will be unable to remove their songs, meaning that DJs are forced to use `forceskip` in each song they've added.
### Steps to Reproduce
1. User joins voice channel,
2. User adds a song,
3. User leaves voice channel,
4. Use `forceskip` it will report `Unable to find user`
### Expected Result
All user entries are deleted from the playlist.
### Debug Output
```
System Properties:
java.version = 17.0.5
java.vm.name = Eclipse OpenJ9 VM
java.vm.specification.version = 17
java.runtime.name = IBM Semeru Runtime Open Edition
java.runtime.version = 17.0.5+8
java.specification.version = 17
os.arch = aarch64
os.name = Linux
JMusicBot Information:
Version = 0.3.8
Owner = 282584705218510848
Prefix = /
AltPrefix = !
MaxSeconds = 0
NPImages = false
SongInStatus = false
StayInChannel = false
UseEval = false
UpdateAlerts = true
Dependency Information:
JDA Version = 4.4.0_352
JDA-Utilities Version = 3.0.5
Lavaplayer Version = 1.3.78
Runtime Information:
Total Memory = 54
Used Memory = 24
Discord Information:
ID = 896191407692320829
Guilds = 7
Users = 10
```
### Additional Info
Would be nice to be able to remove individual songs from other users as a DJ as well.
### Checklist
- [X] I have looked for information about this [within the documentation](https://jmusicbot.com/)
- [X] I have searched for similar issues [on the issues page](https://github.com/jagrosh/MusicBot/issues?q=is%3Aissue)
- [X] I am running the latest version of the bot: 
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the forceremove and forceskip command entry points and trace how queued songs are associated with users who leave the voice channel. Reproduce the reported sequence, then verify that forceremove removes all songs belonging to the departed user without requiring repeated skips. The issue provides no file or test paths, so locating the relevant queue and command code is part of the work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100