piekj / jambot Goto Github PK
View Code? Open in Web Editor NEWDiscord bot for playing music in voice channels.
Home Page: https://jambot.red
License: MIT License
Discord bot for playing music in voice channels.
Home Page: https://jambot.red
License: MIT License
The -q
command shows durations for all songs in the queue, except the currently playing one. This would be nice to have, perhaps accompanied by showing how much has been played/how much is left.
No response
As a user I want to test
No response
As a user I want to remove a song from the queue by it's index.
Upgrade project to use latest Spring Boot 3.
2022-10-29 17:11:03.776 ERROR 1 --- [inWS-ReadThread] net.dv8tion.jda.api.JDA : One of the EventListeners had an uncaught exception
net.dv8tion.jda.api.exceptions.InsufficientPermissionException: Cannot perform action due to a lack of Permission. Missing permission: VOICE_CONNECT
at net.dv8tion.jda.internal.managers.AudioManagerImpl.checkChannel(AudioManagerImpl.java:100) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.managers.AudioManagerImpl.openAudioConnection(AudioManagerImpl.java:89) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at dev.joopie.jambot.music.GuildMusicPlayer.join(GuildMusicPlayer.java:67) ~[classes!/:0.0.1-SNAPSHOT]
at dev.joopie.jambot.music.GuildMusicPlayer.joinVoiceChannelOfUser(GuildMusicPlayer.java:57) ~[classes!/:0.0.1-SNAPSHOT]
at dev.joopie.jambot.music.GuildMusicService.play(GuildMusicService.java:78) ~[classes!/:0.0.1-SNAPSHOT]
at dev.joopie.jambot.music.commands.PlayCommandHandler.handle(PlayCommandHandler.java:72) ~[classes!/:0.0.1-SNAPSHOT]
at dev.joopie.jambot.JambotListener.lambda$onSlashCommandInteraction$1(JambotListener.java:108) ~[classes!/:0.0.1-SNAPSHOT]
at java.base/java.util.Optional.map(Optional.java:260) ~[na:na]
at dev.joopie.jambot.JambotListener.onSlashCommandInteraction(JambotListener.java:108) ~[classes!/:0.0.1-SNAPSHOT]
at net.dv8tion.jda.api.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:405) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:96) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handleInternally(EventManagerProxy.java:88) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handle(EventManagerProxy.java:70) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.JDAImpl.handleEvent(JDAImpl.java:173) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.handle.InteractionCreateHandler.handleCommand(InteractionCreateHandler.java:110) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.handle.InteractionCreateHandler.handleInternally(InteractionCreateHandler.java:81) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.handle.SocketHandler.handle(SocketHandler.java:39) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.requests.WebSocketClient.onDispatch(WebSocketClient.java:965) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.requests.WebSocketClient.onEvent(WebSocketClient.java:851) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.requests.WebSocketClient.handleEvent(WebSocketClient.java:829) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at net.dv8tion.jda.internal.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:1004) ~[JDA-5.0.0-alpha.21.jar!/:5.0.0-alpha.21]
at com.neovisionaries.ws.client.ListenerManager.callOnBinaryMessage(ListenerManager.java:385) ~[nv-websocket-client-2.14.jar!/:na]
at com.neovisionaries.ws.client.ReadingThread.callOnBinaryMessage(ReadingThread.java:276) ~[nv-websocket-client-2.14.jar!/:na]
at com.neovisionaries.ws.client.ReadingThread.handleBinaryFrame(ReadingThread.java:996) ~[nv-websocket-client-2.14.jar!/:na]
at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:755) ~[nv-websocket-client-2.14.jar!/:na]
at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108) ~[nv-websocket-client-2.14.jar!/:na]
at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64) ~[nv-websocket-client-2.14.jar!/:na]
at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45) ~[nv-websocket-client-2.14.jar!/:na]
Why
Currently, there is no issue template available. In order to make valid issues, issue templating could help to provide the right amount of details to get started
What
Create an issue template which contains:
Create an PR template which contains:
How
Create templates in the .GITHUB
folder that is listed in this project. For more information. Check out this guide Github provides for issue templating: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms
Sometimes the bot will have a state where it is no longer available. In order to solve this, a restart could be sufficient to do. Now, only @PiekJ can restart the bot on his own hosted instance.
It would be cool if the rest of the developers that have access to this repo can also restart the bot in case @PiekJ isn't available.
Maybe we can create a Github Action to restart the bot via somekind of a webhook. Or we can create an admin panel hosted somewhere we can login via our Github Accounts.
When a Spotify link is entered, find a YouTube video of the same song to play.
No response
For privacy reasons the bot shouldn't be able to hear voices while in voice channels.
This can be achieved by deafen the bot upon joining the voice channel.
Why
Currently, it is a little bit trail and error how to get started with development the project. A nice README with some steps can make this a little bit easier
What
Create a README which contains at least:
How
Type :P
Why
Currently, there is no way of informing our end users that a new update is pushed and that this contains new functionality.
What
Create a way to publish changelog messages to Discord Servers. The best way to achieve this is looking into the server settings which channel is set to publish messages for Owners and Admins.
How
To refine
No response
As a bot owner I want to see some interesting measurements regarding the bot's performance.
A few examples:
More suggestions are welcome.
Also provide a /play slashcommand to play songs, instead of just /jam.
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.