llyrics
A simple package to fetch lyrics from Genius API.
This package was originally used only for my personal needs to fetch lyrics from Genius API using my discord bot, but then I decided to make this package open source and let everyone use it.
💫 Features
- TypeScript Support: llyrics is written in TypeScript, providing type safety and ease of use. Thanks to RemyK for Typescript rewrite ❤.
- Support for Different Sources: You can search for lyrics from YouTube, Musixmatch, or Genius by specifying the desired source(s) in the search options.
- Auto Search: If a search fails on the first specified search engine, llyrics automatically retries the search on another available search engine for a better lyrics result.
- Easy to Use: You can quickly search for song lyrics by providing the song title and, optionally, the artist name.
🪓 Installation
$ npm install llyrics
$ yarn add llyrics
💾 Example
const { find } = require('llyrics');
client.on(Events.InteractionCreate, async interaction => {
if (!interaction.isChatInputCommand()) return;
const response = await find({
song: 'Bohemian Rhapsody',
engine: 'youtube'
forceSearch: true,
});
if (interaction.commandName === 'lyrics') {
await interaction.reply({ content: response.lyrics, ephemeral: true });
}
});
client.login('token');
🔧 Usage
Function parameters
{
song: string,
artist?: string,
geniusApiKey?: string,
engine?: 'musixmatch' | 'genius' | 'youtube',
forceSearch?: boolean
}
Response format
{
artist: string,
title: string,
id: number,
engine: string,
artworkURL: string,
lyrics: string,
}
Note: the id is only available if the request was made with Musixmatch. This corresponds to the Musixmatch identifier of the song.
The default search engine is YouTube. If you prefer not to use YouTube, you can specify your desired search engine.