TheHamkerCat 4 anos atrás
pai
commit
575250b345
2 arquivos alterados com 40 adições e 29 exclusões
  1. 16 6
      wbb/modules/music.py
  2. 24 23
      wbb/utils/inlinefuncs.py

+ 16 - 6
wbb/modules/music.py

@@ -187,9 +187,19 @@ async def lyrics_func(_, message):
         return await message.reply_text("**Usage:**\n/lyrics [QUERY]")
     m = await message.reply_text("**Searching**")
     query = message.text.strip().split(None, 1)[1]
-    song = await arq.lyrics(query)
-    lyrics = song.result
-    if len(lyrics) < 4095:
-        return await m.edit(f"__{lyrics}__")
-    lyrics = await paste(lyrics)
-    await m.edit(f"**LYRICS_TOO_LONG:** [URL]({lyrics})")
+
+    resp = await arq.lyrics(query)
+
+    if not (resp.ok and resp.result):
+        return await m.edit("No lyrics found.")
+
+    song = resp.result[0]
+    song_name = song['song']
+    artist = song['artist']
+    lyrics = song['lyrics']
+    msg = f"**{song_name}** | **{artist}**\n\n__{lyrics}__"
+          
+    if len(msg) > 4095:
+        msg = await paste(msg)
+        msg = f"**LYRICS_TOO_LONG:** [URL]({msg})"
+    return await m.edit(msg)

+ 24 - 23
wbb/utils/inlinefuncs.py

@@ -351,33 +351,34 @@ async def youtube_func(answers, text):
 
 
 async def lyrics_func(answers, text):
-    song = await arq.lyrics(text)
-    if not song.ok:
+    resp = await arq.lyrics(text)                                    
+    if not resp.ok:                                     
+        answers.append(
+            InlineQueryResultArticle(                                         
+                title="Error",                 
+                description=resp.result,
+                input_message_content=InputTextMessageContent(resp.result),
+            )                                                           
+        )                                                                  
+        return answers                                                
+    songs = resp.result                                                      
+    for song in songs:                                                       
+        song_name = song['song']
+        artist = song['artist']
+        lyrics = song['lyrics']
+        msg = f"**{song_name}** | **{artist}**\n\n__{lyrics}__"
+          
+        if len(msg) > 4095:
+            msg = await paste(msg)
+            msg = f"**LYRICS_TOO_LONG:** [URL]({msg})"
+                            
         answers.append(
             InlineQueryResultArticle(
-                title="Error",
-                description=song.result,
-                input_message_content=InputTextMessageContent(song.result),
+                title=song_name,
+                description=artist,
+                input_message_content=InputTextMessageContent(msg),
             )
         )
-        return answers
-    lyrics = song.result
-    song = lyrics.splitlines()
-    song_name = song[0]
-    artist = song[1]
-    if len(lyrics) > 4095:
-        lyrics = await paste(lyrics)
-        lyrics = f"**LYRICS_TOO_LONG:** [URL]({lyrics})"
-
-    msg = f"__{lyrics}__"
-
-    answers.append(
-        InlineQueryResultArticle(
-            title=song_name,
-            description=artist,
-            input_message_content=InputTextMessageContent(msg),
-        )
-    )
     return answers