async def METHOD_NAME(event):  # sourcery no-metrics
    "To fetch song lyrics"
    if GENIUS is None:
        return await edit_or_reply(
            event,
            "<i>Set <code>GENIUS_API_TOKEN</code> in heroku vars for functioning of this command.\n\nCheck out this <b><a href = https://graph.org/How-to-get-Genius-API-Token-04-26>Tutorial</a></b></i>",
            parse_mode="html",
        )
    match = event.pattern_match.group(1)
    songno = re.findall(r"-n\d+", match)
    listview = re.findall(r"-l", match)
    try:
        songno = songno[0]
        songno = songno.replace("-n", "")
        match = match.replace(f"-n{songno}", "")
        songno = int(songno)
    except IndexError:
        songno = 1
    if songno < 1 or songno > 10:
        return await edit_or_reply(
            event,
            "`song number must be in between 1 to 10 use -l flag to query results`",
        )
    match = match.replace("-l", "")
    listview = bool(listview)
    query = match.strip()
    song = songinfo = query
    artist = None
    if "-" in query:
        args = query.split("-", 1)
        artist = args[0].strip(" ")
        song = args[1].strip(" ")
        songinfo = f"{artist} - {song}"
        catevent = await edit_or_reply(event, f"`Searching lyrics for {songinfo}...`")
        METHOD_NAME = LyricsGen.METHOD_NAME(song, artist)[1]
        if METHOD_NAME is None:
            return await catevent.edit(f"Song **{songinfo}** not found!")
        result = f"**Search query**: \n`{songinfo}`\n\n```{METHOD_NAME}```"
    else:
        catevent = await edit_or_reply(event, f"`Searching lyrics for {query}...`")
        response = LyricsGen.songs(song)
        msg = f"**The songs found for the given query:** `{query}`\n\n"
        for i, an in enumerate(response, start=1):
            msg += f"{i}. `{an['result']['title']}`\n"
        if listview:
            result = msg
        else:
            result = f"**The song found for the given query:** `{query}`\n\n"
            if songno > len(response):
                return await edit_or_reply(
                    catevent,
                    f"**Invalid song selection for the query select proper number**\n{msg}",
                )
            songtitle = response[songno - 1]["result"]["title"]
            result += f"`{LyricsGen.METHOD_NAME(songtitle)[1]}`"
    await edit_or_reply(catevent, result)