From f6ecc3f356752fa8677d32da19e7b9eda716cace Mon Sep 17 00:00:00 2001 From: LBlend <24893890+LBlend@users.noreply.github.com> Date: Thu, 16 May 2019 20:18:23 +0200 Subject: [PATCH] Added localization (lyrics) --- cogs/music.py | 30 +++++++++++++++--------------- localization/en_en/commands.yaml | 3 +++ localization/nb_no/commands.yaml | 3 +++ 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/cogs/music.py b/cogs/music.py index 0c4178f..4f0ab1c 100644 --- a/cogs/music.py +++ b/cogs/music.py @@ -557,11 +557,10 @@ class Music(commands.Cog): embed.set_thumbnail(url=thumb_url) await ctx.send(embed=embed) - @commands.cooldown(1, 5, commands.BucketType.guild) @commands.command(name='lyrics') async def _lyrics(self, ctx, *query: str): - + player = self.bot.lavalink.players.get(ctx.guild.id) genius_access_token = self.bot.APIkeys.get('genius', None) @@ -569,14 +568,14 @@ class Music(commands.Cog): if genius_access_token is None: return await ctx.send('Missing API key') - excluded_words = ["music", "video", "version", "original", "lyrics", - "official", "live","instrumental", "audio", "hd"] + excluded_words = ['music', 'video', 'version', 'original', 'lyrics', + 'official', 'live', 'instrumental', 'audio', 'hd'] query = ' '.join(query) if not query and player.is_playing: query = player.current.title - query = re.sub('[-()_]', '', query) + query = re.sub('[-()_\[\]]', '', query) filtered_words = [word for word in query.split() if word.lower() not in excluded_words] query = ' '.join(filtered_words) @@ -585,22 +584,23 @@ class Music(commands.Cog): response = await resp.read() return response.decode('utf-8') - embed = discord.Embed(description=":mag_right:") + embed = discord.Embed(description=':mag_right:') status_msg = await ctx.send(embed=embed) try: - url = "https://api.genius.com/search?" + urllib.parse.urlencode({"access_token": genius_access_token, "q": query}) + url = 'https://api.genius.com/search?' + urllib.parse.urlencode( + {'access_token': genius_access_token, 'q': query}) result = await get_site_content(url) response = json.loads(result) - song_id = response["response"]["hits"][0]["result"]["id"] + song_id = response['response']['hits'][0]['result']['id'] except: - embed = discord.Embed(description=":x:", color=0xFF0000) + embed = discord.Embed(description=':x:', color=0xFF0000) return await status_msg.edit(embed=embed) - result = await get_site_content(f"https://api.genius.com/songs/{song_id}?access_token={genius_access_token}") - song = json.loads(result)["response"]["song"] + result = await get_site_content(f'https://api.genius.com/songs/{song_id}?access_token={genius_access_token}') + song = json.loads(result)['response']['song'] - response = await get_site_content(song["url"]) + response = await get_site_content(song['url']) scraped_data = BeautifulSoup(response, 'html.parser') lyrics = scraped_data.find(class_='lyrics').get_text() @@ -610,9 +610,9 @@ class Music(commands.Cog): await status_msg.delete() - paginator.pages[0].url=song["url"] - paginator.pages[0].title=song["full_title"] - paginator.pages[0].set_thumbnail(url=song["header_image_thumbnail_url"]) + paginator.pages[0].url = song['url'] + paginator.pages[0].title = song['full_title'] + paginator.pages[0].set_thumbnail(url=song['header_image_thumbnail_url']) paginator.pages[0].set_author(name='Genius', icon_url='https://i.imgur.com/NmCTsoF.png') if len(paginator.pages) < 4: diff --git a/localization/en_en/commands.yaml b/localization/en_en/commands.yaml index f6f4a72..3184241 100644 --- a/localization/en_en/commands.yaml +++ b/localization/en_en/commands.yaml @@ -81,6 +81,9 @@ boost: history: aliases: [history, h] description: 'Shows the last 10 songs played.' +lyrics: + aliases: [lyrics] + description: 'Look up the lyrics for a song. Looks up the lyrics for the current song if no song is specified.' scrub: aliases: [scrub] description: 'Shows a temporary controller/scrubber.' diff --git a/localization/nb_no/commands.yaml b/localization/nb_no/commands.yaml index e85fa54..14be345 100644 --- a/localization/nb_no/commands.yaml +++ b/localization/nb_no/commands.yaml @@ -81,6 +81,9 @@ boost: history: aliases: [historikk, avspillingshistorikk, h] description: 'Viser en liste over de 10 siste avspilte sangene.' +lyrics: + aliases: [sangtekst, tekst] + description: 'Se teksten til en sang. Om ingen sang blir gitt vil den søke etter sangen som spilles av.' scrub: aliases: [kontroller] description: 'Gir deg en kontroller som du kan styre musikken med.'