freyacodes / archived-bot

A Discord music bot serving music in over 3 million discord servers
https://fredboat.com/docs
MIT License
488 stars 210 forks source link

A command to show song lyrics #132

Open schnapster opened 7 years ago

schnapster commented 7 years ago

Picked up in #suggestions

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

itsaphel commented 6 years ago

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:

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

MrJacz commented 6 years ago

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

freyacodes commented 6 years ago

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.
Uri-Rocky commented 5 years ago

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

ghost commented 4 years ago

Here you go jagrosh/JLyrics

implemented in jagrosh/MusicBot