- ๐ Hi, Iโm @ddellspe
- ๐ซ How to reach me
- Twitter: @DJDellsperger
ddellspe / music-bot Goto Github PK
View Code? Open in Web Editor NEWDiscord Music Bot
License: Apache License 2.0
Discord Music Bot
License: Apache License 2.0
This should probably be externalized to a "formatting" utility of some sort.
Originally posted by @ddellspe in #6 (comment)
Add the ability for anyone who is in the voice channel with the bot to add a new song to the playlist via a play
option
If the play returns no match, search prior to attempting to add, this would mean we should probably externalize the Handler.
In order to better support the open source nature of the project, add in unit testing for the existing command and raw pieces of the bot.
This handler should probably be externalized
Originally posted by @ddellspe in #6 (comment)
There's no way to force the song at the top of the queue for playing, that should be added to better support the desire to interrupt a track and play the next one immediately with the next one being the one in the command.
It seems after some amount of idle time, the api to play the youtube songs fails? It has the following log trace:
music-bot | 2023-08-29T00:52:11.964187670Z [lava-daemon-pool-playback-1-thread-1] ERROR com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor - Error in playback of KajGqKJ3ePg
music-bot | 2023-08-29T00:52:11.964402022Z com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
music-bot | 2023-08-29T00:52:11.964610733Z at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:44)
music-bot | 2023-08-29T00:52:11.964657560Z at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:116)
music-bot | 2023-08-29T00:52:11.964668842Z at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$1(DefaultAudioPlayerManager.java:348)
music-bot | 2023-08-29T00:52:11.964831169Z at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
music-bot | 2023-08-29T00:52:11.964855585Z at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
music-bot | 2023-08-29T00:52:11.964863166Z at java.base/java.lang.Thread.run(Unknown Source)
music-bot | 2023-08-29T00:52:11.964905619Z Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation:
music-bot | 2023-08-29T00:52:11.964923301Z lavaplayer.version: 1.3.78
music-bot | 2023-08-29T00:52:11.964929730Z os.arch: amd64
music-bot | 2023-08-29T00:52:11.964935718Z os.name: Linux
music-bot | 2023-08-29T00:52:11.964940933Z os.version: 5.15.0-79-generic
music-bot | 2023-08-29T00:52:11.964946228Z java.vendor: Eclipse Adoptium
music-bot | 2023-08-29T00:52:11.964951760Z java.version: 17.0.8
music-bot | 2023-08-29T00:52:11.964956963Z java.runtime.version: 17.0.8+7
music-bot | 2023-08-29T00:52:11.964962483Z java.vm.version: 17.0.8+7
music-bot | 2023-08-29T00:52:11.965163954Z Caused by: java.lang.RuntimeException: Not success status code: 403
music-bot | 2023-08-29T00:52:11.965202829Z at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.validateStatusCode(PersistentHttpStream.java:87)
music-bot | 2023-08-29T00:52:11.965244058Z at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.attemptConnect(PersistentHttpStream.java:116)
music-bot | 2023-08-29T00:52:11.965280216Z at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.connect(PersistentHttpStream.java:105)
music-bot | 2023-08-29T00:52:11.965318799Z at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.internalRead(PersistentHttpStream.java:150)
music-bot | 2023-08-29T00:52:11.965348434Z at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.read(PersistentHttpStream.java:166)
music-bot | 2023-08-29T00:52:11.965375817Z at java.base/java.io.DataInputStream.readByte(Unknown Source)
music-bot | 2023-08-29T00:52:11.965413966Z at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaEbmlReader.readEbmlInteger(MatroskaEbmlReader.java:39)
music-bot | 2023-08-29T00:52:11.965450228Z at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaFileReader.readNextElement(MatroskaFileReader.java:45)
music-bot | 2023-08-29T00:52:11.965532027Z at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.readFile(MatroskaStreamingFile.java:78)
music-bot | 2023-08-29T00:52:11.965546429Z at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.loadMatroskaFile(MatroskaAudioTrack.java:51)
music-bot | 2023-08-29T00:52:11.965619832Z at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.process(MatroskaAudioTrack.java:34)
music-bot | 2023-08-29T00:52:11.965633048Z at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25)
music-bot | 2023-08-29T00:52:11.965655240Z at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.processStatic(YoutubeAudioTrack.java:57)
music-bot | 2023-08-29T00:52:11.965686717Z at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:49)
music-bot | 2023-08-29T00:52:11.965725241Z at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:104)
music-bot | 2023-08-29T00:52:11.965763981Z ... 4 more
This SHOULD be able to be caught and potentially retried pending the status code?
Add a command the provides the next number of tracks in the playlist, as well as the total number of tracks in the playlist
Discord4J just release discord4j-core 3.2.0, they do breaking changes with minor version updates, so this is a breaking change for a good chunk of the code we're using. This mostly appears in the createEmbed
method for our use.
Add the ability to inject a song currently (force play) but also re-queue the currently playing song (if one is present)
There are some issues with respect to the current Prefix/split setup, for instances when the command is for instance !play
and the person puts !playing
(this will currently kill the server), we want to be more fault-tolerant to this.
Originally posted by @ddellspe in #6 (comment)
Bot's broken on Games4All#NoKappa.
We'll want to make start optional, and then add a footer to the start message that you can simply start it with the !play
command in the future.
Add a command to get help with using the bot, this can either direct to the github readme, or have some sort of hook for each command in how it "helps"
Add the ability for anyone who is in the voice channel to skip the song
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.