Skip to content

LewdHuTao/llyrics

Repository files navigation

llyrics

NPM version

NPM Banner

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 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, isNotFoundResponse } = 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') {
    if (response && !isNotFoundResponse(response)) {
      await interaction.reply({ content: response.lyrics, ephemeral: true });
    }
  }
});

client.login('token');

🔧 Usage

Function parameters

{
  song: string,                                 // The title of the song
  artist?: string,                              // Optional: Use this for more accurate lyrics results on the Musixmatch endpoint
  engine?: 'musixmatch' | 'youtube',            // Specify the desired search engine: 'musixmatch', or 'youtube'
  forceSearch?: boolean                         // Optional: If true and the search fails on the first specified search engine, llyrics automatically retries the search on another available search engine
}

Response format

{
  artist: string,     // Artist's name
  title: string,      // Song title
  id: number,         // Track ID
  engine: string,     // Search engine used
  artworkURL: string, // Artwork URL
  lyrics: string,     // Song lyrics
  status: string,     // Response status code
}

About

A simple package to fetch lyrics from various platform.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors