elamperti / OpenWebScrobbler

🎧 An open source web scrobbler for Last.fm
https://openscrobbler.com/
GNU General Public License v2.0
317 stars 38 forks source link

Add a bulk scrobbling tab #99

Open elamperti opened 5 years ago

elamperti commented 5 years ago

Is your feature request related to a problem? Please describe Bulk scrobbling would simplify scrobbling tracks from multiple artists (e.g. mixes, custom playlists and even CSV backups)

Describe the solution you'd like There should be a space to paste a list of tracks as plain text, preview how they would be scrobbled and a button to scrobble them. It would be great to be able to modify the timestamps as well.

Describe alternatives you've considered Right now it's only possible to scrobble songs one by one, which is time consuming.

Additional context Suggested by user your turn#9104 in Discord (and several other users before as well!)

PiotrDabrowskey commented 1 year ago

It'd be very useful to be able to paste a tracklist in a format supported in a song tab (i.e. "artist - title") and parse it into a bulk scrobble format. I'd use it quite frequently for mixes/dj sets.

Ideally, user would need to only mark the beginning time of a bulk scrobble and next tracks timestamp could be computed using length of previous tracks (last.fm's has this information already), but it's rather nice-to-have.

Aeyk commented 1 year ago

I'm interested in this feature, maybe I'd be able to add this feature.

I can already export my scrobbles to csv using the link below. Are there other popular methods to get bulk scrobble data that people use? https://benjaminbenben.com/lastfm-to-csv/

elamperti commented 1 year ago

Hi @Aeyk, thanks for your interest! I'm currently refactoring the API. Before enabling some kind of bulk scrobbling I need to finish this change and ensure that it can't be abused -currently there are some users using automations to do this and it causes unnecessary stress on the server-.

I'm also interested in knowing the use cases for bulk scrobbling, which would also determine the best solution for this. If it's for migrating accounts, then something compatible with files like the one above would work (but it should account for the 2.88k scrobbles/day limit -- how?) What would be your preferred use case?

Aeyk commented 1 year ago

I am intending to use it to migrate scrobbles to a new account, I lost access to my original account a while back.

I figure to work around the limit store them in a database or queue fire off jobs based on that, but I'm flying blind in my assumptions right now, I have yet to take a close look at the repo.

Understandable about the API refactor, do you have an estimate timeline for that?

On Wed, May 17, 2023, 2:39 PM Enrico Lamperti @.***> wrote:

Hi @Aeyk https://github.com/Aeyk, thanks for your interest! I'm currently refactoring the API. Before enabling some kind of bulk scrobbling I need to finish this change and ensure that it can't be abused -currently there are some users using automations to do this and it causes unnecessary stress on the server-.

I'm also interested in knowing the use cases for bulk scrobbling, which would also determine the best solution for this. If it's for migrating accounts, then something compatible with files like the one above would work (but it should account for the 2.88k scrobbles/day limit -- how?) What would be your preferred use case?

— Reply to this email directly, view it on GitHub https://github.com/elamperti/OpenWebScrobbler/issues/99#issuecomment-1551883054, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA47HFLIJA6QXQX6VEAOYHTXGULNZANCNFSM4IJD5JWQ . You are receiving this because you were mentioned.Message ID: @.***>

Aeyk commented 1 year ago

I also don't have a good idea about anti abuse features, doesn't it require the Last.fm account recipient to authorize access before scrobbles happen -- can you explain more about potential for abuse?

On Wed, May 17, 2023, 3:49 PM A Z @.***> wrote:

I am intending to use it to migrate scrobbles to a new account, I lost access to my original account a while back.

I figure to work around the limit store them in a database or queue fire off jobs based on that, but I'm flying blind in my assumptions right now, I have yet to take a close look at the repo.

Understandable about the API refactor, do you have an estimate timeline for that?

On Wed, May 17, 2023, 2:39 PM Enrico Lamperti @.***> wrote:

Hi @Aeyk https://github.com/Aeyk, thanks for your interest! I'm currently refactoring the API. Before enabling some kind of bulk scrobbling I need to finish this change and ensure that it can't be abused -currently there are some users using automations to do this and it causes unnecessary stress on the server-.

I'm also interested in knowing the use cases for bulk scrobbling, which would also determine the best solution for this. If it's for migrating accounts, then something compatible with files like the one above would work (but it should account for the 2.88k scrobbles/day limit -- how?) What would be your preferred use case?

— Reply to this email directly, view it on GitHub https://github.com/elamperti/OpenWebScrobbler/issues/99#issuecomment-1551883054, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA47HFLIJA6QXQX6VEAOYHTXGULNZANCNFSM4IJD5JWQ . You are receiving this because you were mentioned.Message ID: @.***>

elamperti commented 1 year ago

I figure to work around the limit store them in a database or queue fire off jobs based on that

The current implementation doesn't rely heavily on the database (by design), and -at least so far- the assumption is that the user must be actively interacting with the application to scrobble. This is to avoid surprises and confussion ("why are these scrobbles appearing in my account?" -- sometimes people forget what they did).

Understandable about the API refactor, do you have an estimate timeline for that?

I'll start funneling part of the traffic to the new API somewhere in June, so everything should be on the new system by July. It will be decoupled from the frontend.

I also don't have a good idea about anti abuse features, doesn't it require the Last.fm account recipient to authorize access before scrobbles happen -- can you explain more about potential for abuse?

Sure. Even though everyone has to sign in before using the app, there are some issues to account for afterwards. There are users who use the tool to boost their stats, and in doing so they scrobble a lot of tracks (usually the same song over and over) in a very short period of time. Some of these users have even created scripts or macros to automate the process, flooding the server with requests and taking away resources from fair users. I have some mechanisms in place to identify these cases and reduce their impact, but enabling bulk scrobble should ensure other users can scrobble normally. Using the bulk scrobbler to migrate an account would be a fair use case, but I'm 100% sure that some users would use this to scrobble the max amount of scrobbles every day to boost their stats. To make this process fair, there should be a captcha after a number of scrobbles and/or require a Patreon subscription to ensure there's some good faith.