# Lyrics Finder Documentation

The documentation of Lyrics Finder Discord Bot

Welcome to the Lyrics Finder Discord Bot documentation.


# About

**Lyrics Finder** is a Discord Bot that will search the lyrics of a song and displays them using Rich Embed

![](https://1568634002-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7iIbgjA1PWYUVOZ0Vt%2F-M8ecCGcGJBxpqn2RBwS%2F-M8ecSu3euAAPARaB9fh%2FDiscord_lmm3oTCeLd.png?alt=media\&token=ac0f30c2-0123-42b8-9fde-03ad3fad4eb2)

If you don't know the song title, the bot can also search using the lyrics of a song.

![](https://1568634002-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7iIbgjA1PWYUVOZ0Vt%2F-M8ecCGcGJBxpqn2RBwS%2F-M8ed7CUCi_zr5fcT9Ac%2FDiscord_k8OStY4wx7.png?alt=media\&token=637fd604-7d15-4642-90de-77427f76f1f9)

The bot supports non-standard lyrics (Japanese, Russian, Arabic, etc)

![](https://1568634002-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7iIbgjA1PWYUVOZ0Vt%2F-M8ecCGcGJBxpqn2RBwS%2F-M8ed_f7GuF6Qh-qHu0r%2FDiscord_FFp5mqpJ5C.png?alt=media\&token=f9ad250b-63ea-4750-bd51-587ff99ac04a)

Feeling to sing along your Spotify music? You can invoke a command that will display the lyrics to your currently listening Spotify track!

![](https://1568634002-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7iIbgjA1PWYUVOZ0Vt%2F-M8eddJgbSa7RbqEQk6R%2F-M8eeStGRmt0F7nGMduu%2Fkc2Ermu1Rh.gif?alt=media\&token=62c60d80-cdf8-4cce-89a9-bc91e20ef66b)


# Starting Guide

Quick start guide to get the bot into your server, up and running!

## Inviting the Bot

You will need to invite the bot using the link on the header or by clicking [here](https://discord.com/oauth2/authorize?client_id=559265456008200222\&permissions=314432\&scope=bot). Leave the permission as it is for maximum compatibility.

## Searching Lyrics

You can start searching for lyrics by using `~!s <songName>`, replacing `<songName>` with the song that you want to search.

**Example:** `~!s somebody I used to know GOTY`

![Lyrics search result](https://1568634002-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7iIbgjA1PWYUVOZ0Vt%2F-M7jEALK7n1qr3kE78Qh%2F-M7jEqZJ-YMHMFnA_cjR%2FDiscord_b3gdeAFw9e.png?alt=media\&token=ecc9d7a9-6183-4da2-9041-8bb8bd159c7d)

**Read more about the** [**available commands on this bot**](/commands/search)**.**


# Search

This command searches for lyrics. You can also search using part of a song's lyrics.

Didn't find your wanted song lyrics? Refine your search by adding the Artist's name, `Translated`, `Romaji`, etc.

Still didn't find your song? The song might not be available on Genius. If you want, you can [add them there](https://genius.com/new)!

{% hint style="info" %}
Treat the **search command** like a **search engine**; It will search for the closest result as your query!
{% endhint %}

**Syntax:** `~!search <song name>`

**Example:** `~!search somebody I used to know GOTY`

**Aliases:** `s`, `lyrics`

![](https://1568634002-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7iIbgjA1PWYUVOZ0Vt%2F-M7jEALK7n1qr3kE78Qh%2F-M7jEqZJ-YMHMFnA_cjR%2FDiscord_b3gdeAFw9e.png?alt=media\&token=ecc9d7a9-6183-4da2-9041-8bb8bd159c7d)


# Now Playing

This command searches for your currently playing Spotify lyrics.

{% hint style="warning" %}
This search **might not be 100% accurate** as not every song is available on Genius\
If you see a mismatched song, there's a high chance that's the song is not on Genius
{% endhint %}

**Syntax:** `~!nowplaying`

**Example:** `~!nowplaying`

**Aliases:** `np`

![](https://1568634002-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7iIbgjA1PWYUVOZ0Vt%2F-M7m2IJpj6Bb7bMSZluK%2F-M7m4wFAAQjn3rHPLE0E%2FDiscord_PnUGyZygB4.png?alt=media\&token=d575a183-4764-4591-8b81-3d867c69fd62)


# Autosearch

Auto Search is a feature on Lyrics Finder that searches for song lyrics, automatically when listening to Spotify.\
Every time you change a song, new lyrics is sent.\
Auto Search is **toggleable**; You can turn it off and on at once.

![Autosearch Demonstration](https://1568634002-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7iIbgjA1PWYUVOZ0Vt%2F-M8eddJgbSa7RbqEQk6R%2F-M8eeStGRmt0F7nGMduu%2Fkc2Ermu1Rh.gif?alt=media\&token=62c60d80-cdf8-4cce-89a9-bc91e20ef66b)

**Syntax:** `~!autosearch`\
**Aliases:** `auto`

{% hint style="warning" %}
The channel where you type in the command is where the lyrics will be sent.\
Beware of message spams!
{% endhint %}


# Troubleshooting & FAQs

The bot doesn't work or have any questions? You might want to check this out first!

## Troubleshooting

### Why does the bot doesn't respond to messages?

The bot might not have the permission to send embeds. Try checking for the **Embed Links** permission!\
Still can't figure it out? Try going to the support server and ask!

### Why does the bot need Administrator for it to work?

**It doesn't**. You might have misconfigured the bot's permission on the server.\
As a matter of fact: Do not give any bot Admin permission. They don't need it.

## FAQs

### Can I change the prefix of the bot?

Currently no. Though, it is planned in the future!

### Is the bot Open Source?

Yes, the source code is available on [GitHub](https://github.com/angeloanan/lyrics-finder).


# Changelog

See what has changed here

## 3.0.5 - June 12, 2020

### Changed / Fixed

* Fixed discord.bots.gg voting (typo)

### Technical / OSS changes

* Updated dependencies
* Uses `package.json` version as the bot's presence

## 3.0.4 - June 8, 2020

### Added

* Added voting support for discord.bots.gg

### Changed / Fixed

* Searches now filters emojis & custom emotes
* Refined lyrics not found error

### Technical / OSS changes

* Added better `README.md` - It looks fancy now
* Added `TODO.md` - You are welcome if you want to contribute
* Updated and removed dependencies
* Updated `.env.example`
* Moved Spotify API to a separate project - This causes some build error
* Docker build now uses node-alpine with dependencies installation fixed

## 3.0.3 - June 4, 2020

### Added

* Added the `about` command
* Added the prefix `stats` to `info`

### Changed / Fixed

* Fixed DiscordJS' `ClientOptions` not being applied
* Added startup time in console logging

## 3.0.2 - June 2, 2020

### Fixes

* Fine tuned Spotify search query
  * Cleaned song title (clears out `feat.`)
  * Uses the song primary artist for search
  * Reversed search term to `<songTitle> <songPrimaryArtist>`
* Fixed InfluxDB timestamp error
* Added permission error message
* Fixed lyrics too long error message not being sent

## 3.0.1 - June 1, 2020

### Added

* InfluxDB Logging

### Changed / Fixed

* Fixed bot list server count post

## 3.0 - May 31, 2020

Rewritten the bot using TypeScript and made the code Open Source 🎉\
You can see the source code and contribute on [GitHub](https://github.com/angeloanan/lyrics-finder)

### Added

* **Autosearch** - Automatic lyrics search every song change
* **Better Scraper** - This should result in a better performance

### Changed / Fixed

* **Search Progress Display** - Search progress now displays a preloaded embed

## 2.2 - Dec 20, 2019

### Added

* **Search Progress** - The bot now displays search progress
* **Better Error Messages** - Error messages has been added in some circumstances (even impossible ones) resulting in a more user friendly experience

### Fixed

* **Metion detection** - A Discord update makes mentions inconsistent thus not invoking the bot properly
* **Parser bug** - Lyrics that doesn't follow Genius' standard sometimes doesn't parse correctly into a RichEmbed

## 2.1 - Nov 29, 2019

### Changed

* NodeJS version updated to Node 13

### Fixed

* PM2 ecosystem config
* InfluxDB timings ms

## 2.0 - Aug 11, 2019

Rewritten bot from scratch

### Added

* **Now Playing** - Displays the currently playing Spotify track lyrics
* **Better Error Message** - All bot errors are now logged and have a proper error message
* **Error on too long lyrics** - This is a Discord limitation; Characters in RichEmbed must be at maximum 6000. When a lyrics is too long, it will still display the Lyrics URL!
* **Footer tips** - Footer will now display actual helpful tips
* Non-public InfluxDB & Grafana Metrics

### Fixed

* **Sentence Split** - Lyrics section will now split properly. In the past, it was hardcoded to do 2 splits!
* **Parser** - Better parser

## 1.2.0 - June 07, 2019

### Fixed

* Parser

## 1.1.1 - April 30, 2019

### Added

* Restart on Error

### Removed

* Debugging console log

### Fixed

* **Reversed Lyrics** - Due to RichEmbed limitation, lyrics must be splitted if their char amount is more than 1024. In the past version, this will make the lyrics reversed. In this update, the bug has been fixed!
* **Missing Version Number** - Everytime the bot is disconnected (rip btw), its playing status would be gone. It has been fixed

## 1.1.0 - April 12, 2019

### Added

* Parsing for `[?]` - Now unknown lyrics will display for \[?] and will not error anymore!
* Better disconnect handling
* Better error logging

## 1.0.0 - April 02, 2019

Initial bot release

### Added

* Basic lyrics search


# Privacy Policy

Take a look at the Lyrics Finder Privacy Policy

### Data Collection

Lyrics Finder will store your lyrics search query anonymously.\
Anonymously means that I can't figure out the individual who's searching for such lyrics.\
This is the only data that I will access since as it is for debugging purposes.\
This data will be stored for 30 days. The data might be available for an extended period in form of a backup.

When using the Auto search feature of the bot, we store your Discord User ID in a database temporarily, acting as a flag that one has enabled the feature.\
Your Discord User ID will be removed once you've stopped using the Auto search feature.\
I will not access this flag.

### Removal of Data

To remove your data, you can toggle off the Auto search feature of the bot.

For lyrics search query: as the query is anonymous, I can't figure out anyone's message. The best thing that I can do is to delete the whole query database.

### Contact

You can contact me by writing an email to `angelo@angeloanan.xyz` or by sending a Direct Message on Discord to `Angelo#0420`. If you prefer PGP, my key is available on [Keybase](https://keybase.io/angeloanan).

### Update Information

I hold the right to update this document at any time without notifying anyone. So please consider checking this document from time to time.


# Supporting the Bot

Thank you!

## Voting

Lyrics Finder has been submitted to several bot list.\
You can support the bot by voting in any of these website

* [top.gg](https://top.gg/bot/559265456008200222) (discordbots.org)
* [Discord Extreme List](https://discordextremelist.xyz/bots/559265456008200222)
* [Discord Bot List](https://discordbotlist.com/bots/lyrics-finder)
* [discord.bots.gg](https://discord.bots.gg/bots/559265456008200222)

## Donation

Oh, you're talking about money? Oh man. Lyrics Finder has always been a one-man project.&#x20;

I don't know what to write here other than thank you very much for your donation!&#x20;

You can support me using the link below:

* Hey, thanks for your enthusiasm\
  I still haven't figure out what's the best way for people to donate to me\
  Please check this page out later :/


