Music Bot Proposal #403
zekroTJA
announced in
Announcements
Replies: 1 comment
-
Whatever floats the boat |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Preamble
I have the idea to make shinpuru also a music bot since a very long time. I’ve built another bot called yuri69—a soundboard Discord bot—which is essentially a music bot with another front end.
One of the reasons I am building shinpuru is to offer a completely free and open source solution for all the features that are otherwise “premium” features in other, non-free and closed source bots. And music playing especially is a very prominent feature in the premium plans of a lot of these Discord bots.
The problem: media streaming is expensive, as well in processing as in bandwidth resources. Therefore, I was against building it into shinpuru for a long time because I was not sure how to provide such a feature free of charge.
But now, I think I have a pretty reasonable Idea on how this might be realized in shinpuru.
The idea
Generally, the playback of music streams from different services like YouTube, Soundcloud or Twitch will be realized using Lavalink. It is a reliable, field tested and scalable standalone node to stream music from various sources to Discord voice chats. Yuri69 is using Lavalink with the waterlink API wrapper for Go as it’s core component since the beginning of the project and it suits perfectly for shinpuru. Therefore, the main strain is not on the shinpuru server itself and can be scaled across multiple nodes in a cluster configuration.
Both official shinpuru instances will also support music streaming, but it will not be free of charge. Simply because hosting shinpuru is already yet not really cheap and it would get more difficult when media streaming is supported as well. Therefore, only on the main hosts, a small fee of maybe $2 per month or so (not final) will be changed so that you are able to use music streaming on your guild.
And because I want to hold on my promise, that all features of shinpuru will be available free of charge forever, there will be two options for you to use music streaming for free.
1) Adding your own Lavalink instance to the shinpuru cluster
You can host your own instance of Lavalink on your own infrastructure and simply bind the node to shinpuru for your Guild(s). Then, you will be able to stream music with shinpuru over your own Lavalink instance, which reduces the load on the main shinpuru host.
2) Self hosting shinpuru
Of course, the feature will be open sources with the main source code of shinpuru on GitHub and provided with the binaries and Docker images as usual. So you can use the media streaming feature completely free of charge on your own, self hosted instance of shinpuru, of course.
Feedback
Feel free to share your thoughts about this in this discussion. I would be really happy to hear from you. When the concept is kind of final, I will create an issue which tracks the development state of this feature.
Beta Was this translation helpful? Give feedback.
All reactions