Closed Drapersniper closed 3 years ago
Unless this feature is already proposed somewhere, I would like to propose option to be able to use [p]prev
to be able to go more than one song backwards and also to be able to use it with shuffle enabled - similarly to how it is in regular music players.
Currently it will work with Shuffle (with #2904 ), but not more than 1 song, so i'll add that
As we discussed in Discord, a possible feature is allowing server owners/admins to move playlists between servers they own/administrate in. A possible change to this original idea is that a non admin/owner user in server A can then copy a playlist to server B if they have admin/owner perms where the playlist is being copied to. These would only apply for guild playlists.
@Vexed01 this would overcomplicate the existing playlist perms quite a bit, privacy is also a concern. and as such am Against this.
However ... Currently you'll be able to copy a playlist from guild A to the User Scope and from the User scope to the Guild scope on Server B.
This allows less cross server information display, and if they really want to copy cross server a 2 step proccess seems okay to me.
That's fine, I wasn't expecting much. It was just an idea!
Hmm, I have another proposition, option to limit the range for volume command? I saw someone that wanted such feature before so that he could enable users to change volume but not let them change it from for example 50% to 150% which would annoy everyone in vc.
Ability to add multiple songs in the play command by separating the songs with a character that's not used often such as "|". Which would be used like [p]play Eminem Lucky You | Joyner ADHD
and it adds both songs.
I mostly use redbot for playing local songs and it works pretty well for basic operation of !play "path/music.mp3" Would it be possible to have commands such as !play "folder" to enqueue all music in that folder. !local folder is extremely cumbersome since i wouldn't want to transfer all my files to new "localtracks" folder. For my use case navigation and stuff like that isn't really a concern since i'm always using "copy as path" with windows.
@ltukezl possible it is, however for privacy reason I’m agaisnt being able to pass a local path to the bot for play, as of 3.3 you are able to create symbolic links so you don’t need to copy the files into the local tracks folder, the reason the local tracks folder exist is due to the aforementioned privacy concerns.
Fair. symlinks feels decent enought workaround. Thank you.
The above said it’s not a hard no, if you can give some examples of use cases where it would prove beneficial to all users and not just yourself, I’m more than happy to look into the possibilities.
Since it already worked for regular mp files I didn't really concern too much about the possible privacy issues.
While the symlink does function well (EDIT subfolders with music doesn't work, returns nothing found. maybe it's on my end so i'll debug it tomorrow) , it doesn't really scale too well to my 400 albums. So my enchantment suggestions would fall either into the !local folder enchantments such as skip 10 menus and show more albums per menu. Maybe it could accept the path via DM where the owner might be more likely to post private info or with enought rights the bot could instantly delete messages that has been processed as local path / folder.
Either way I don't really have good solution on hand but I recon queuing whole folders easier would still be beneficial to some portion of users.
Nothing found after you select play or nothing found as in the folder doesn’t get shown? This is no longer something that shouldn’t be in this issue please take any further issue to our discord server and we can talk there. I’m interested to understand exactly what you mean by not found as in when and where it happens
Blocked by #3459
Have a command, most likely usable for server owners, bot owners, bot mod, bot admin that toggles on a bias for lyrics-based song titles via a yt search. This would append "lyrics" to a [p]search query on first glance (could def be implemented differently), and in regards to the idea of the audio track API/caching idea that Draper has, could prioritize cached tracks with lyrics in the song title or similar.
Add a [p]mixplaylist <url>
command based on the newly discovered behaviour of youtube mix playlists
MAYBE: add [p]playstric <author> || <track name>
which would allow using Global Cache and JDA cache directly.
add [p]makeplaylist
that enqueue n number of recently played tracks in the server
Show the enqueued playlist name (and url?) when using genre command.
I won't be continuing work here, I wont close this issue as its a good way to congragate all feature requests and work. hopefully it assists Aika and anyone else working on Audio in the future.
Add RPC functionality; information on doing this at #3741
Add special casing for Live stream playlists Note: Users wont be mix livestream with normal songs due to special casing, but this will allow playlist to always have accurate livestream data
[p]audioset role
To accept a list of roles?
Adding this here to cleanup original post
[p]shuffle
that allows the person with permissions to say whether bumped tracks should be shuffled or kept at the top of the queue, off by default)[p]queue
that allows the queue to be updated to the current status, will not automate this due to Discords rate limits)[p]audioset settings
reports Jar build incorrectly (#2880)
As per conversation in #support
could a global empty disconnect feature be added to the bot's owner's perms?
That way, if 100 servers have the bot playing music to an empty VC or the bot not playing anything, it wouldn't use the excess hosting resources?
I'd like to seem some global audio settings for emptydisconnect
and emptypause
.
Personally, I don't like leaving things open if they aren't being used, and secondly because some users do feel uncomfortable about it.
I think an additional benefit would be a toggle for the bot owner to enforce these settings, so server owners/staff can't change them.
@Drapersniper (I think this was you) response on discord:
Put it there But realistically the way I'd implement is a global default that guilds can opt out of if they should choose Rather than a global rule
My response:
That's why I suggested that as a separate toggle. A bot owner might have limited bandwith and choose to allow the option to use audio, but enforce the global rules to save the bandwidth. It allows for it to be set up for the circumstances required.
Implement the "something when wrong ..." kinda message mentioned in #3868
Draper told me we need something like this:
Draper told me we need something like this:
AAAAAAAAAAAAAAAAAAAAAAA
On java requirement failure message, link to docs for instructions on how to get supported java
I've been told to blame @jack1142 on this.
Remove %
in [p]volume
help menu. Having it just say "Set the volume 1-150" seems more user-friendly and intuitive
The way how volume will work is going to significantly change. In a future update if everything goes to plan, but I'll keep that in mind.
The problem with saying just 1-150 is that is an number without any context , that's the diff between between 100 and 110 in, eith percentage we know that that's a 10% increase and not a .. exponential increase where the value doubles every n stead
Note: could just edit the usage arg rather than the docstrings
Would be nice perhaps to have a Lavalink log upload command to post the spring.log file, but would only really work on internally run jars. Could help in support when folks are asking for logs. Most users can provide logs and not have much trouble getting them uploaded to hastebin or somewhere else, but this idea would make it even more easy for them. I'm not totally sold on adding this but thought I'd mention it as it may be helpful.
Would be nice perhaps to have a Lavalink log upload command to post the spring.log file, but would only really work on internally run jars. Could help in support when folks are asking for logs. Most users can provide logs and not have much trouble getting them uploaded to hastebin or somewhere else, but this idea would make it even more easy for them. I'm not totally sold on adding this but thought I'd mention it as it may be helpful.
I'm actually sold. We could see if it's external and if external tell them how to find it instead. And if internal we just send the file in a message
Allow chaining on playlist start, like [p]playlist start playlist1 playlist2 playlist3
It would be really cool to implement this. For more care about resources usage.
Add support for YouTube music api, non async ref can be found at https://github.com/sigma67/ytmusicapi/tree/master/ytmusicapi
Add a playlist search command to be able to search for tracks on a saved Red playlist, the output would return artist/title/link like many of the other song displays (queue, playlist info, etc)
Would we want to also add enqueue functionality allowing you to play the search result ?
Possibly, my use case was trying to search a saved playlist for specific artists so that I could remove them with playlist remove commands.
some default audio eq presets would be cool(i am aware of how to save eq configs). idk how to justify the need but somewhere on the lines of red having default songs maybe. Would be useful to show off how eq is cool.
some default audio eq presets would be cool(i am aware of how to save eq configs). idk how to justify the need but somewhere on the lines of red having default songs maybe. Would be useful to show off how eq is cool.
Yeah planning to do this on the rewrite and give users a handful of premade presets such as base boos, piano, voice etc
Make Query option 5 (JDA) optional on GlobalAPI and implement on audio (Draper on disc)
We use RedBot to stream an Icecast URL, which is working flawlessly. However, when poking around at audio features, I came across the "[p] audioset status enable" command that updates the bot's status as to what is currently playing (sweet!). However, after enabling the feature and having the first song updated as its status, subsequent songs in the same stream are not captured, or at least not set as the status of the bot as expected. That first song it determines is playing becomes a static status for the bot.
I think it'd be really cool if RedBot could refresh its now playing data frequently (possibly at a configurable interval), and capture what is currently playing, and update its status accordingly. I believe this can be achieved by sending the "Icy-MetaData" in the request header, and by reading the response "metaint" header and parsing it accordingly. I found some example python code for this, and I think it'd be something along the lines of this:
request.add_header('Icy-MetaData', 1)
response = urllib2.urlopen(request)
icy_metaint_header = response.headers.get('icy-metaint')
if icy_metaint_header is not None:
metaint = int(icy_metaint_header)
read_buffer = metaint+255
content = response.read(read_buffer)
title = content[metaint:].split("'")[1]
print title
...perhaps in a try/except block, where if successful, it updates the status as to what is currently playing, else, if failure, possibly blanking out the status, or outputting something generic.
Thanks in advance for the consideration. You all have something really cool here!
Hello! I have an awesome Idea! Is it possible in equalizer that bot owners can create global equalizer presets? So that adding filters like Bassboost, treble etc. If it is possible then we don't need to add separate filters command. This can come in handy :)
Hello, Currently I face a issues with nicely and lovely Red Audio (Cog?), let's get to the point.... I setup myself an instance of red on my Windows Server, everything went fine till i want to setup few playlists from local albums.
On a first hand i search a lot how to create playlists from local files, how to setup media patch without going on C:\Users\[myuser]\AppData\Local\Red-DiscordBot\Red-DiscordBot\data\[myInstanceOfRed]\cogs\Audio\localtracks
and i can't found anything.
I can't find any workaround for the files path, but i found an workaround for creating playlist so, i convert all files to mp3 pack into folders and then upload to %appdata%\Local\Red-DiscordBot\Red-DiscordBot\data\[myInstanceOfRed]\cogs\Audio\localtracks
, everything went fine and smooth with follow commands
.local folder [name]
playlist queue [name] --scope Global
.stop
[repeat]
So as i said everything went fine till i have to repeat operation, every playlist queue [name] --scope Global
i have to wait 5 minutes to execute another, on a simple math 4 albumes (no matter how long/short are) i have to wait 20 minutes (in total).
It's frustrating not to be able to go over certain limits, even if it means taking risks, since we are talking about a selfhosted instance of Red and just as frustrated is waiting a few hours to get a job done that you can do in 20 minutes at most.
To resume everything.
Transcript from discord: https://gist.github.com/fmohican/9bd522c9550ff787e8ca38c7751099d1
Hello, Currently I face a issues with nicely and lovely Red Audio (Cog?), let's get to the point.... I setup myself an instance of red on my Windows Server, everything went fine till i want to setup few playlists from local albums.
On a first hand i search a lot how to create playlists from local files, how to setup media patch without going on
C:\Users\[myuser]\AppData\Local\Red-DiscordBot\Red-DiscordBot\data\[myInstanceOfRed]\cogs\Audio\localtracks
and i can't found anything. I can't find any workaround for the files path, but i found an workaround for creating playlist so, i convert all files to mp3 pack into folders and then upload to%appdata%\Local\Red-DiscordBot\Red-DiscordBot\data\[myInstanceOfRed]\cogs\Audio\localtracks
, everything went fine and smooth with follow commands.local folder [name] playlist queue [name] --scope Global .stop [repeat]
So as i said everything went fine till i have to repeat operation, every
playlist queue [name] --scope Global
i have to wait 5 minutes to execute another, on a simple math 4 albumes (no matter how long/short are) i have to wait 20 minutes (in total). It's frustrating not to be able to go over certain limits, even if it means taking risks, since we are talking about a selfhosted instance of Red and just as frustrated is waiting a few hours to get a job done that you can do in 20 minutes at most.To resume everything.
- Possibility to create playlist from local files without any cooldown or 'workaround'.
- Possibility to set custom cooldown on every command. (optionally a warning like, if you fall below a certain value, no more support is offered. You do it at your own risk. )
Transcript from discord: https://gist.github.com/fmohican/9bd522c9550ff787e8ca38c7751099d1
Implementation of this allow. Appending/creating a playlist from an existing local folder.
Given the size of queues and potential risk from it I will not remove the cooldown here unless there's a lot of push back. If there is then I'm removing the 3 scopes and making playlist only creatable by bot owners
Implementation of this allow. Appending/creating a playlist from an existing local folder.
Given the size of queues and potential risk from it I will not remove the cooldown here unless there's a lot of push back. If there is then I'm removing the 3 scopes and making playlist only creatable by bot owners
There is no point for that cooldown on local files even old hdd can handle easy hundred of mp3s. There is a lot of time wasted on cooldown, as i said on transcript, for public bot it make sense, for self-hosted instance doesn't, since is my Server/IP/Files its my own responsibility to take care of them. Enforcing limits doesn't help everyone.
Also eliminating local playlists cause a dependency of platforms like youtube/spotify/etc... Don't get me wrong, i like to be in control of my data, even on discord.
This issue is to gather features to be suggested for or worked on for Audio this supersedes and replaces #2494 due to the changes added by #2904
Open Issues:
TODO:
Requests:
[p]prev
Can go back multiple songs > This will be easier if #366 is addressed[p]play 1|2|3
for example[p]play
and[p]playlist append
commands to bulk enque multiple songsMaybe:
[p]makeplaylist
that enqueue n number of recently played tracks in the server[p]playstric <author> || <track name>
which would allow using Global Cache and JDA cache directly.Next Todo
In Edge
[p]audioset role
To accept a list of roles[p]mixplaylist <url>
command based on the newly discovered behaviour of youtube mix playlists - https://github.com/Cog-Creators/Red-DiscordBot/issues/2940#issuecomment-583879466Done
What about sfx?
Want to suggest something?