archived-bot icon indicating copy to clipboard operation
archived-bot copied to clipboard

A command to show song lyrics

Open schnapster opened this issue 7 years ago • 5 comments

Picked up in #suggestions

A starting point: List of lyrics APIs https://www.programmableweb.com/category/lyrics/apis?category=20278

schnapster avatar Apr 05 '17 15:04 schnapster

Been thinking about this today and working towards it a bit, and in doing so some questions came up regarding the implementation which seemed relevant to discuss.

Specifically:

  • Is it a better idea to have the lyrics posted in a channel, or open a simple URL with a browser app with the lyrics scrolling through as they pass?
  • If the former, is it better to post all the lyrics at once, or post them when the line is being played?
    • Would the latter be unnecessary 'load', and perhaps a bit confusing also (could also just edit existing messages, but with that there's a bigger need to have the timing pretty right)?
    • Would the former be a bit too cluttery, or just hard to follow?
    • Might a web URL (e.g. a link to https://fredboat.co/lyrics/hF45sSPA) be a good solution? Then you can target the time in the song well, but that becomes outside of Discord (yet another screen you need open)

A better idea of what implementation would work best might be useful to discuss.

itsaphel avatar Aug 11 '18 20:08 itsaphel

Is it a better idea to have the lyrics posted in a channel, or open a simple URL with a browser app with the lyrics scrolling through as they pass?

The channel. it makes more sense as its a discord bot. I don't think people want to open a site/app just to get lyrics when they can do that themselves.

If the former, is it better to post all the lyrics at once or post them when the line is being played?

Post most/all of the lyrics at once. posting them when it is being played would be API abuse/spammy.

ur other questions/points are already answered by former answers

MrJacz avatar Aug 12 '18 01:08 MrJacz

Post most/all of the lyrics at once. posting them when it is being played would be API abuse/spammy.

Depends on how much is shown at once. It's probably not a big deal if a large chunk of the lyrics is shown at a time, and replaced when the last line shown has been sung. We can post/edit 5 messages per sec in the same guild. The global rate limit shouldn't be a problem if we make lyrics opt-in.

When picking an API it is important that:

  1. The API is one we can afford to use, otherwise, it will have to be exclusive to selfhosters/patrons
  2. The time should show for each line of lyric, so we can match it with playback
  3. We need some way of matching tracks to lyrics.

freyacodes avatar Aug 12 '18 11:08 freyacodes

Bump I'd would recommend using genius since it's already established

Uri-Rocky avatar Sep 05 '19 23:09 Uri-Rocky

Here you go jagrosh/JLyrics

implemented in jagrosh/MusicBot

ghost avatar May 15 '20 03:05 ghost