diff --git a/cogs/botsettings.py b/cogs/botsettings.py index 9dbc647..79beb87 100644 --- a/cogs/botsettings.py +++ b/cogs/botsettings.py @@ -10,7 +10,7 @@ class BotSettings: self.bot = bot self.settings = self.bot.settings - @checks.is_owner() + @checks.is_admin() @commands.group(name='set', hidden=True) async def _set(self, ctx): if ctx.invoked_subcommand is None: diff --git a/cogs/music.py b/cogs/music.py index df98106..42c462e 100644 --- a/cogs/music.py +++ b/cogs/music.py @@ -215,7 +215,7 @@ class Music: if user is None: queue = player.global_queue() - scroller = QueueScroller(ctx, queue, lines_per_page=10) + scroller = QueueScroller(ctx, queue, localizer, lines_per_page=10) await scroller.start_scrolling() else: @@ -223,7 +223,7 @@ class Music: if not user_queue: return await ctx.send(localizer.format_str("{queue.empty}", _user=user.name)) - scroller = QueueScroller(ctx, user_queue, lines_per_page=10, user_name=user.name) + scroller = QueueScroller(ctx, user_queue, localizer, lines_per_page=10, user_name=user.name) await scroller.start_scrolling() @commands.command(name='myqueue', aliases=['mq','minkø','mk']) @@ -236,7 +236,7 @@ class Music: if not user_queue: return await ctx.send(localizer.format_str("{my_queue}")) - scroller = QueueScroller(ctx, user_queue, lines_per_page=10, user_name=ctx.author.name) + scroller = QueueScroller(ctx, user_queue, localizer, lines_per_page=10, user_name=ctx.author.name) await scroller.start_scrolling() @commands.command(name='pause', aliases=['resume','gjenoppta']) diff --git a/cogs/utils/embedscroller.py b/cogs/utils/embedscroller.py index d28faa4..536eb99 100644 --- a/cogs/utils/embedscroller.py +++ b/cogs/utils/embedscroller.py @@ -3,12 +3,14 @@ import discord import math import lavalink + class CantScroll(Exception): pass # Maybe slightly very copied from rdanny # Thanks danny <3 + class EmbedScroller: def __init__(self, ctx, pages): @@ -48,7 +50,7 @@ class EmbedScroller: raise CantScroll('Bot does not have add reactions permission.') if not self.permissions.read_message_history: - raise CantScroll('Bot does not have Read Message History permission.') + raise CantScroll('Bot does not have Read Message History permission.') async def send(self): self.current_page = 0 @@ -63,7 +65,7 @@ class EmbedScroller: for (reaction, _) in self.reaction_emojis: if len(self.pages) == 2 and reaction in ('\u23ed', '\u23ee'): continue - + await self.message.add_reaction(reaction) async def scroll(self, page): @@ -135,19 +137,23 @@ class ScrollerFromLines(EmbedScroller): page = '' for index, line in enumerate(lines): page += line + '\n' - if index%lines_per_page == lines_per_page - 1: + if index % lines_per_page == lines_per_page - 1: embed = discord.Embed(color=0xEFD26C, - title=description, - description=page) - embed.set_footer(text=f'Viewing page {index//lines_per_page}/{pagecount}') + title=description, + description=page) + embed.set_footer(text=localizer.format_str("{queue.pageindicator}", + _current=index//lines_per_page + 1, + _total=pagecount)) pages.append(embed) page = '' if page != '': embed = discord.Embed(color=0xEFD26C, - description=page) + description=page) - embed.set_footer(text=f'Viewing page {pagecount}/{pagecount}') + embed.set_footer(text=localizer.format_str("{queue.pageindicator}", + _current=pagecount, + _total=pagecount)) pages.append(embed) super().__init__(ctx=ctx, pages=pages) @@ -155,38 +161,53 @@ class ScrollerFromLines(EmbedScroller): class QueueScroller(EmbedScroller): """ Fugly, but works for now """ - def __init__(self, ctx, queue, lines_per_page=10, user_name: str=None): + def __init__(self, ctx, queue, localizer, lines_per_page=10, user_name: str=None): pagecount = math.ceil(len(queue) / lines_per_page) self.queue = queue if user_name is None: - title = f'**Queue** `{len(queue)} songs`' + title = localizer.format_str("{queue.length}", + _length=len(queue)) else: - title = f'**{user_name}\'s queue** `{len(queue)} songs`' + title = localizer.format_str("{queue.userqueue}", + _user=user_name, + _length=len(queue)) pages = [] page = '' for index, temp in enumerate(queue): if user_name is None: track = temp - page += f'`{index + 1}.` **[{track.title}]({track.uri})** _by <@{track.requester}>_\n' + page += localizer.format_str("{queue.globaltrack}", + _index=index+1, + _title=track.title, + _uri=track.uri, + _user_id=track.requester) else: track, globpos = temp - page += f'`{index + 1}({globpos + 1}).` **[{track.title}]({track.uri})**\n' + page += localizer.format_str("{queue.usertrack}", + _index=index+1, + _globalindex=globpos+1, + _title=track.title, + _uri=track.uri) - if index%lines_per_page == lines_per_page - 1: + if index % lines_per_page == lines_per_page - 1: embed = discord.Embed(color=0xEFD26C, - title=title, - description=page) - embed.set_footer(text=f'Viewing page {index//lines_per_page + 1}/{pagecount}') + title=title, + description=page) + embed.set_footer(text=localizer.format_str("{queue.pageindicator}", + _current=index//lines_per_page + 1, + _total=pagecount)) pages.append(embed) page = '' if page != '': embed = discord.Embed(color=0xEFD26C, - title=title, - description=page) - embed.set_footer(text=f'Viewing page {pagecount}/{pagecount}') + title=title, + description=page) + embed.set_footer(text=localizer.format_str("{queue.pageindicator}", + _current=pagecount, + _total=pagecount)) pages.append(embed) super().__init__(ctx=ctx, pages=pages) @@ -196,4 +217,4 @@ class QueueScroller(EmbedScroller): if page < 0 or page >= len(self.pages): return self.current_page = page - await self.message.edit(embed=self.pages[page]) \ No newline at end of file + await self.message.edit(embed=self.pages[page]) diff --git a/localization/en_en/music.json b/localization/en_en/music.json index 2dc8c93..59ec3c6 100644 --- a/localization/en_en/music.json +++ b/localization/en_en/music.json @@ -25,7 +25,12 @@ "now": "Now Playing", "queue": { "empty": "The queue is empty", - "user_empty": "{_user}'s queue is empty" + "user_empty": "{_user}'s queue is empty", + "length": "**Queue** `{_length} songs`", + "userqueue": "**{_user}\\'s queue** `{_length}`", + "globaltrack":"`{_index}.` **[{_title}]({_uri})** _by <@{_user_id}>_\n", + "usertrack":"`{_index}({_globalindex}).` **[{_title}]({_uri})**\n", + "pageindicator":"Viewing page {_current}/{_total}" }, "my_queue": "Your queue is empty", "resume": { diff --git a/localization/nb_no/music.json b/localization/nb_no/music.json index 72ab78a..19ca3b0 100644 --- a/localization/nb_no/music.json +++ b/localization/nb_no/music.json @@ -25,7 +25,12 @@ "now": "Spiller nå", "queue": { "empty": "Køen er tom", - "user_empty": "{_user} sin kø er tom" + "user_empty": "{_user} sin kø er tom", + "length": "**Kø** `{_length} sanger`", + "userqueue": "**{_user} sin kø** `{_length}` sanger", + "globaltrack":"`{_index}.` **[{_title}]({_uri})** _av <@{_user_id}>_\n", + "usertrack":"`{_index}({_globalindex}).` **[{_title}]({_uri})**\n", + "pageindicator":"Viser side {_current}/{_total}" }, "my_queue": "Din kø er tom", "resume": { diff --git a/localization/nn_no/music.json b/localization/nn_no/music.json index 7a469d5..b7a8987 100644 --- a/localization/nn_no/music.json +++ b/localization/nn_no/music.json @@ -25,7 +25,11 @@ "now": "Spelar no", "queue": { "empty": "Køa er tom", - "user_empty": "{_user} sin kø er tom" + "user_empty": "{_user} sin kø er tom", + "userqueue": "Køen til **{_user}** `{_length}` songar", + "globaltrack":"`{_index}.` **[{_title}]({_uri})** _av <@{_user_id}>_\n", + "usertrack":"`{_index}({_globalindex}).` **[{_title}]({_uri})**\n", + "pageindicator":"Viser side {_current}/{_total}" }, "my_queue": "Din kø er tom", "resume": {