Splamy / TS3AudioBot

Advanced Musicbot for Teamspeak 3
https://splamy.de/TSAudioBot/Home
Open Software License 3.0
702 stars 140 forks source link

Queue info (feature request) #329

Open koznov opened 6 years ago

koznov commented 6 years ago

Hello! If i add playlist from youtube via !list get example !list get https://www.youtube.com/playlist?list=PL3485902CC4FB6C67 then i want to check what tracks are in this list via !list show and i get only first 10 strings from this list. Maybe we can sent N messages that contains song list that separated to 10 strings messages? If we have 49 songs in playlist it will sent 4 x 10 strings messages and 1 x 9 string with songs. And maybe you can add new command "queue" that will show all tracks that in queue ? Also maybe add feature : if some list is loaded when sent command !play X , where X is id of song in playlist it will play it direct from loaded playlist. Also is there any plans for features such as search in lists (current or all lists) for songs and search into youtube ? Maybe create command "search" with string as option for direct search in folder library, playlist, youtube, etc. Thanks!

koznov commented 6 years ago
<02:30:36> "TS3 Support ": !list get https://www.youtube.com/playlist?list=PL3485902CC4FB6C67 <02:30:37> "MusicBot-123": Ok <02:30:41> "TS3 Support ": !list show <02:30:42> "MusicBot-123": Playlist: "PL3485902CC4FB6C67" with 186 songs. 0: Guns N' Roses - November Rain 1: Nirvana - Smells Like Teen Spirit 2: Guns N' Roses - Sweet Child O' Mine 3: a-ha - Take On Me (Official Music Video) 4: The Police - Every Breath You Take 5: R.E.M. - Losing My Religion (Official Music Video) 6: Europe - The Final Countdown (Official Video) 7: Guns N' Roses - Don't Cry 8: Aerosmith - Crazy 9: Survivor - Eye Of The Tiger
Splamy commented 6 years ago

Maybe we can sent N messages that contains song list that separated to 10 strings messages? If we have 49 songs in playlist it will sent 4 x 10 strings messages and 1 x 9 string with songs.

I have thought about such feature but have no particularly good idea how to properly implement it. In your example this would send 19 messages in quick succession which could really quickly trigger the spam protection from teamspeak You can on the other hand paginate manually by calling !lis sho <offset>, (so !lis sho 0, !lis sho 10, etc...)

And maybe you can add new command "queue" that will show all tracks that in queue ?

This already works, you can simply request the special named list .queue with !lis show .queue You can interact with the .queue list like with any other list. For example you could merge the .queue list into your current edit list with !list merge .queue

Also is there any plans for features such as search in lists (current or all lists) for songs and search into youtube ? Maybe create command "search" with string as option for direct search in folder library, playlist, youtube, etc.

I think this request is already covered in #89, but the idea with searching within playlist might be nice

koznov commented 6 years ago

@Splamy When we are loading playlist we are getting variable with count of songs in it.

<05:15:37> "TS3 Support": !list get https://www.youtube.com/playlist?list=PL0420B28C0AB16AD6
<05:15:37> "MusicBot-123": Ok
<05:15:41> "TS3 Support": !list save Test
<05:15:43> "TS3 Support1": !list load Test
<05:15:43> "MusicBot-123": Loaded: "Test" with **36** songs

In https://github.com/Splamy/TS3AudioBot/wiki/CommandSystem#basic-commands (execution order) i found IF statement, mayve is there FOR statement for creation such cycle with usage of song count variable ?

koznov commented 6 years ago

but the idea with searching within playlist might be nice

Maybe add it to feature request ?

Splamy commented 6 years ago

i found IF statement, mayve is there FOR statement for creation such cycle with usage of song count variable ?

Same here already planned long ago in #23 but loops are a dangerous feature when not implemented in a secure way.

Maybe add it to feature request ?

Sure, drop a comment in the #89 issue, this seems related enough.

Splamy commented 6 years ago

The behaviour for long message splitting can now be configured in the settings. The queue can now be requested with !queue