diff --git a/redbot/cogs/audio/core/commands/controller.py b/redbot/cogs/audio/core/commands/controller.py index b436b212f..dbd116399 100644 --- a/redbot/cogs/audio/core/commands/controller.py +++ b/redbot/cogs/audio/core/commands/controller.py @@ -75,8 +75,14 @@ class PlayerControllerCommands(MixinMeta, metaclass=CompositeMetaClass): """Now playing.""" if not self._player_check(ctx): return await self.send_embed_msg(ctx, title=_("Nothing playing.")) - expected: Union[Tuple[str, ...]] = ("⏮", "⏹", "⏯", "⏭", "\N{CROSS MARK}") - emoji = {"prev": "⏮", "stop": "⏹", "pause": "⏯", "next": "⏭", "close": "\N{CROSS MARK}"} + emoji = { + "prev": "\N{BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR}\N{VARIATION SELECTOR-16}", + "stop": "\N{BLACK SQUARE FOR STOP}\N{VARIATION SELECTOR-16}", + "pause": "\N{BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR}\N{VARIATION SELECTOR-16}", + "next": "\N{BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR}\N{VARIATION SELECTOR-16}", + "close": "\N{CROSS MARK}", + } + expected = tuple(emoji.values()) player = lavalink.get_player(ctx.guild.id) if player.current: arrow = await self.draw_time(ctx) @@ -138,7 +144,7 @@ class PlayerControllerCommands(MixinMeta, metaclass=CompositeMetaClass): return if not player.queue and not autoplay: - expected = ("⏹", "⏯", "\N{CROSS MARK}") + expected = (emoji["stop"], emoji["pause"], emoji["close"]) task: Optional[asyncio.Task] if player.current: task = start_adding_reactions(message, expected[:5]) diff --git a/redbot/cogs/audio/core/commands/equalizer.py b/redbot/cogs/audio/core/commands/equalizer.py index 72d44b1b1..2269e291b 100644 --- a/redbot/cogs/audio/core/commands/equalizer.py +++ b/redbot/cogs/audio/core/commands/equalizer.py @@ -34,23 +34,23 @@ class EqualizerCommands(MixinMeta, metaclass=CompositeMetaClass): player = lavalink.get_player(ctx.guild.id) eq = player.fetch("eq", Equalizer()) reactions = [ - "\N{BLACK LEFT-POINTING TRIANGLE}", - "\N{LEFTWARDS BLACK ARROW}", + "\N{BLACK LEFT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}", + "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}", "\N{BLACK UP-POINTING DOUBLE TRIANGLE}", "\N{UP-POINTING SMALL RED TRIANGLE}", "\N{DOWN-POINTING SMALL RED TRIANGLE}", "\N{BLACK DOWN-POINTING DOUBLE TRIANGLE}", - "\N{BLACK RIGHTWARDS ARROW}", - "\N{BLACK RIGHT-POINTING TRIANGLE}", - "\N{BLACK CIRCLE FOR RECORD}", - "\N{INFORMATION SOURCE}", + "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}", + "\N{BLACK RIGHT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}", + "\N{BLACK CIRCLE FOR RECORD}\N{VARIATION SELECTOR-16}", + "\N{INFORMATION SOURCE}\N{VARIATION SELECTOR-16}", ] await self._eq_msg_clear(player.fetch("eq_message")) eq_message = await ctx.send(box(eq.visualise(), lang="ini")) if dj_enabled and not await self._can_instaskip(ctx, ctx.author): with contextlib.suppress(discord.HTTPException): - await eq_message.add_reaction("\N{INFORMATION SOURCE}") + await eq_message.add_reaction("\N{INFORMATION SOURCE}\N{VARIATION SELECTOR-16}") else: start_adding_reactions(eq_message, reactions) diff --git a/redbot/cogs/audio/core/commands/localtracks.py b/redbot/cogs/audio/core/commands/localtracks.py index a4ee38992..f0d96919c 100644 --- a/redbot/cogs/audio/core/commands/localtracks.py +++ b/redbot/cogs/audio/core/commands/localtracks.py @@ -83,9 +83,9 @@ class LocalTrackCommands(MixinMeta, metaclass=CompositeMetaClass): "\N{DIGIT THREE}\N{COMBINING ENCLOSING KEYCAP}": _local_folder_menu, "\N{DIGIT FOUR}\N{COMBINING ENCLOSING KEYCAP}": _local_folder_menu, "\N{DIGIT FIVE}\N{COMBINING ENCLOSING KEYCAP}": _local_folder_menu, - "\N{LEFTWARDS BLACK ARROW}": prev_page, + "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}": prev_page, "\N{CROSS MARK}": close_menu, - "\N{BLACK RIGHTWARDS ARROW}": next_page, + "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}": next_page, } dj_enabled = await self.config.guild(ctx.guild).dj_enabled() diff --git a/redbot/cogs/audio/core/commands/player.py b/redbot/cogs/audio/core/commands/player.py index d33398b66..89b67e325 100644 --- a/redbot/cogs/audio/core/commands/player.py +++ b/redbot/cogs/audio/core/commands/player.py @@ -358,9 +358,9 @@ class PlayerCommands(MixinMeta, metaclass=CompositeMetaClass): "\N{DIGIT THREE}\N{COMBINING ENCLOSING KEYCAP}": _category_search_menu, "\N{DIGIT FOUR}\N{COMBINING ENCLOSING KEYCAP}": _category_search_menu, "\N{DIGIT FIVE}\N{COMBINING ENCLOSING KEYCAP}": _category_search_menu, - "\N{LEFTWARDS BLACK ARROW}": prev_page, + "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}": prev_page, "\N{CROSS MARK}": close_menu, - "\N{BLACK RIGHTWARDS ARROW}": next_page, + "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}": next_page, } playlist_search_controls = { "\N{DIGIT ONE}\N{COMBINING ENCLOSING KEYCAP}": _playlist_search_menu, @@ -368,9 +368,9 @@ class PlayerCommands(MixinMeta, metaclass=CompositeMetaClass): "\N{DIGIT THREE}\N{COMBINING ENCLOSING KEYCAP}": _playlist_search_menu, "\N{DIGIT FOUR}\N{COMBINING ENCLOSING KEYCAP}": _playlist_search_menu, "\N{DIGIT FIVE}\N{COMBINING ENCLOSING KEYCAP}": _playlist_search_menu, - "\N{LEFTWARDS BLACK ARROW}": prev_page, + "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}": prev_page, "\N{CROSS MARK}": close_menu, - "\N{BLACK RIGHTWARDS ARROW}": next_page, + "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}": next_page, } api_data = await self._check_api_tokens() @@ -627,9 +627,9 @@ class PlayerCommands(MixinMeta, metaclass=CompositeMetaClass): "\N{DIGIT THREE}\N{COMBINING ENCLOSING KEYCAP}": _search_menu, "\N{DIGIT FOUR}\N{COMBINING ENCLOSING KEYCAP}": _search_menu, "\N{DIGIT FIVE}\N{COMBINING ENCLOSING KEYCAP}": _search_menu, - "\N{LEFTWARDS BLACK ARROW}": prev_page, + "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}": prev_page, "\N{CROSS MARK}": close_menu, - "\N{BLACK RIGHTWARDS ARROW}": next_page, + "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}": next_page, } if not self._player_check(ctx): diff --git a/redbot/cogs/audio/core/commands/queue.py b/redbot/cogs/audio/core/commands/queue.py index 43b414ba2..46b966657 100644 --- a/redbot/cogs/audio/core/commands/queue.py +++ b/redbot/cogs/audio/core/commands/queue.py @@ -49,10 +49,10 @@ class QueueCommands(MixinMeta, metaclass=CompositeMetaClass): return None queue_controls = { - "\N{LEFTWARDS BLACK ARROW}": prev_page, + "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}": prev_page, "\N{CROSS MARK}": close_menu, - "\N{BLACK RIGHTWARDS ARROW}": next_page, - "\N{INFORMATION SOURCE}": _queue_menu, + "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}": next_page, + "\N{INFORMATION SOURCE}\N{VARIATION SELECTOR-16}": _queue_menu, } if not self._player_check(ctx): @@ -107,16 +107,16 @@ class QueueCommands(MixinMeta, metaclass=CompositeMetaClass): ): return - expected: Union[Tuple[str, ...]] = ("⏮", "⏹", "⏯", "⏭", "\N{CROSS MARK}") emoji = { - "prev": "⏮", - "stop": "⏹", - "pause": "⏯", - "next": "⏭", + "prev": "\N{BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR}\N{VARIATION SELECTOR-16}", + "stop": "\N{BLACK SQUARE FOR STOP}\N{VARIATION SELECTOR-16}", + "pause": "\N{BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR}\N{VARIATION SELECTOR-16}", + "next": "\N{BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR}\N{VARIATION SELECTOR-16}", "close": "\N{CROSS MARK}", } + expected = tuple(emoji.values()) if not player.queue and not autoplay: - expected = ("⏹", "⏯", "\N{CROSS MARK}") + expected = (emoji["stop"], emoji["pause"], emoji["close"]) if player.current: task: Optional[asyncio.Task] = start_adding_reactions(message, expected[:5]) else: diff --git a/redbot/cogs/audio/core/utilities/equalizer.py b/redbot/cogs/audio/core/utilities/equalizer.py index 03198608e..d3ea40e8b 100644 --- a/redbot/cogs/audio/core/utilities/equalizer.py +++ b/redbot/cogs/audio/core/utilities/equalizer.py @@ -70,16 +70,16 @@ class EqualizerUtilities(MixinMeta, metaclass=CompositeMetaClass): ) -> None: player.store("eq", eq) emoji = { - "far_left": "\N{BLACK LEFT-POINTING TRIANGLE}", - "one_left": "\N{LEFTWARDS BLACK ARROW}", + "far_left": "\N{BLACK LEFT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}", + "one_left": "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}", "max_output": "\N{BLACK UP-POINTING DOUBLE TRIANGLE}", "output_up": "\N{UP-POINTING SMALL RED TRIANGLE}", "output_down": "\N{DOWN-POINTING SMALL RED TRIANGLE}", "min_output": "\N{BLACK DOWN-POINTING DOUBLE TRIANGLE}", - "one_right": "\N{BLACK RIGHTWARDS ARROW}", - "far_right": "\N{BLACK RIGHT-POINTING TRIANGLE}", - "reset": "\N{BLACK CIRCLE FOR RECORD}", - "info": "\N{INFORMATION SOURCE}", + "one_right": "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}", + "far_right": "\N{BLACK RIGHT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}", + "reset": "\N{BLACK CIRCLE FOR RECORD}\N{VARIATION SELECTOR-16}", + "info": "\N{INFORMATION SOURCE}\N{VARIATION SELECTOR-16}", } selector = f'{" " * 8}{" " * selected}^^' try: @@ -95,11 +95,11 @@ class EqualizerUtilities(MixinMeta, metaclass=CompositeMetaClass): await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands) await self._clear_react(message, emoji) - if react_emoji == "\N{LEFTWARDS BLACK ARROW}": + if react_emoji == "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}": await self.remove_react(message, react_emoji, react_user) await self._eq_interact(ctx, player, eq, message, max(selected - 1, 0)) - if react_emoji == "\N{BLACK RIGHTWARDS ARROW}": + if react_emoji == "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}": await self.remove_react(message, react_emoji, react_user) await self._eq_interact(ctx, player, eq, message, min(selected + 1, 14)) @@ -131,24 +131,24 @@ class EqualizerUtilities(MixinMeta, metaclass=CompositeMetaClass): await self._apply_gain(ctx.guild.id, selected, _min) await self._eq_interact(ctx, player, eq, message, selected) - if react_emoji == "\N{BLACK LEFT-POINTING TRIANGLE}": + if react_emoji == "\N{BLACK LEFT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}": await self.remove_react(message, react_emoji, react_user) selected = 0 await self._eq_interact(ctx, player, eq, message, selected) - if react_emoji == "\N{BLACK RIGHT-POINTING TRIANGLE}": + if react_emoji == "\N{BLACK RIGHT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}": await self.remove_react(message, react_emoji, react_user) selected = 14 await self._eq_interact(ctx, player, eq, message, selected) - if react_emoji == "\N{BLACK CIRCLE FOR RECORD}": + if react_emoji == "\N{BLACK CIRCLE FOR RECORD}\N{VARIATION SELECTOR-16}": await self.remove_react(message, react_emoji, react_user) for band in range(eq.band_count): eq.set_gain(band, 0.0) await self._apply_gains(ctx.guild.id, eq.bands) await self._eq_interact(ctx, player, eq, message, selected) - if react_emoji == "\N{INFORMATION SOURCE}": + if react_emoji == "\N{INFORMATION SOURCE}\N{VARIATION SELECTOR-16}": await self.remove_react(message, react_emoji, react_user) await ctx.send_help(self.command_equalizer) await self._eq_interact(ctx, player, eq, message, selected) diff --git a/redbot/cogs/audio/core/utilities/formatting.py b/redbot/cogs/audio/core/utilities/formatting.py index 43af279f8..b60692333 100644 --- a/redbot/cogs/audio/core/utilities/formatting.py +++ b/redbot/cogs/audio/core/utilities/formatting.py @@ -365,9 +365,9 @@ class FormattingUtilities(MixinMeta, metaclass=CompositeMetaClass): bar = "\N{BOX DRAWINGS HEAVY HORIZONTAL}" seek = "\N{RADIO BUTTON}" if paused: - msg = "\N{DOUBLE VERTICAL BAR}" + msg = "\N{DOUBLE VERTICAL BAR}\N{VARIATION SELECTOR-16}" else: - msg = "\N{BLACK RIGHT-POINTING TRIANGLE}" + msg = "\N{BLACK RIGHT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}" for i in range(sections): if i == loc_time: msg += seek diff --git a/redbot/cogs/economy/economy.py b/redbot/cogs/economy/economy.py index 0e9cfca47..2daad480f 100644 --- a/redbot/cogs/economy/economy.py +++ b/redbot/cogs/economy/economy.py @@ -22,6 +22,7 @@ T_ = Translator("Economy", __file__) logger = logging.getLogger("red.economy") NUM_ENC = "\N{COMBINING ENCLOSING KEYCAP}" +VARIATION_SELECTOR = "\N{VARIATION SELECTOR-16}" MOCK_MEMBER = namedtuple("Member", "id guild") @@ -34,8 +35,8 @@ class SMReel(Enum): sunflower = "\N{SUNFLOWER}" six = "\N{DIGIT SIX}" + NUM_ENC mushroom = "\N{MUSHROOM}" - heart = "\N{HEAVY BLACK HEART}" - snowflake = "\N{SNOWFLAKE}" + heart = "\N{HEAVY BLACK HEART}" + VARIATION_SELECTOR + snowflake = "\N{SNOWFLAKE}" + VARIATION_SELECTOR _ = lambda s: s diff --git a/redbot/cogs/general/general.py b/redbot/cogs/general/general.py index 951b8bb31..59c3d62d0 100644 --- a/redbot/cogs/general/general.py +++ b/redbot/cogs/general/general.py @@ -22,7 +22,7 @@ _ = T_ = Translator("General", __file__) class RPS(Enum): rock = "\N{MOYAI}" paper = "\N{PAGE FACING UP}" - scissors = "\N{BLACK SCISSORS}" + scissors = "\N{BLACK SCISSORS}\N{VARIATION SELECTOR-16}" class RPSParser: @@ -314,7 +314,9 @@ class General(commands.Cog): "\N{LARGE GREEN CIRCLE}": lambda x: x.status is discord.Status.online, "\N{LARGE ORANGE CIRCLE}": lambda x: x.status is discord.Status.idle, "\N{LARGE RED CIRCLE}": lambda x: x.status is discord.Status.do_not_disturb, - "\N{MEDIUM WHITE CIRCLE}": lambda x: x.status is discord.Status.offline, + "\N{MEDIUM WHITE CIRCLE}\N{VARIATION SELECTOR-16}": lambda x: ( + x.status is discord.Status.offline + ), "\N{LARGE PURPLE CIRCLE}": lambda x: any( a.type is discord.ActivityType.streaming for a in x.activities ), @@ -387,7 +389,9 @@ class General(commands.Cog): "MEMBER_LIST_DISABLED": _("Member list disabled"), } guild_features_list = [ - f"✅ {name}" for feature, name in features.items() if feature in guild.features + f"\N{WHITE HEAVY CHECK MARK} {name}" + for feature, name in features.items() + if feature in guild.features ] joined_on = _( diff --git a/redbot/cogs/mod/casetypes.py b/redbot/cogs/mod/casetypes.py deleted file mode 100644 index 3696aeb2e..000000000 --- a/redbot/cogs/mod/casetypes.py +++ /dev/null @@ -1,106 +0,0 @@ -CASETYPES = [ - { - "name": "ban", - "default_setting": True, - "image": "\N{HAMMER}", - "case_str": "Ban", - "audit_type": "ban", - }, - { - "name": "kick", - "default_setting": True, - "image": "\N{WOMANS BOOTS}", - "case_str": "Kick", - "audit_type": "kick", - }, - { - "name": "hackban", - "default_setting": True, - "image": "\N{BUST IN SILHOUETTE}\N{HAMMER}", - "case_str": "Hackban", - "audit_type": "ban", - }, - { - "name": "tempban", - "default_setting": True, - "image": "\N{ALARM CLOCK}\N{HAMMER}", - "case_str": "Tempban", - "audit_type": "ban", - }, - { - "name": "softban", - "default_setting": True, - "image": "\N{DASH SYMBOL}\N{HAMMER}", - "case_str": "Softban", - "audit_type": "ban", - }, - { - "name": "unban", - "default_setting": True, - "image": "\N{DOVE OF PEACE}", - "case_str": "Unban", - "audit_type": "unban", - }, - { - "name": "voiceban", - "default_setting": True, - "image": "\N{SPEAKER WITH CANCELLATION STROKE}", - "case_str": "Voice Ban", - "audit_type": "member_update", - }, - { - "name": "voiceunban", - "default_setting": True, - "image": "\N{SPEAKER}", - "case_str": "Voice Unban", - "audit_type": "member_update", - }, - { - "name": "vmute", - "default_setting": False, - "image": "\N{SPEAKER WITH CANCELLATION STROKE}", - "case_str": "Voice Mute", - "audit_type": "overwrite_update", - }, - { - "name": "cmute", - "default_setting": False, - "image": "\N{SPEAKER WITH CANCELLATION STROKE}", - "case_str": "Channel Mute", - "audit_type": "overwrite_update", - }, - { - "name": "smute", - "default_setting": True, - "image": "\N{SPEAKER WITH CANCELLATION STROKE}", - "case_str": "Server Mute", - "audit_type": "overwrite_update", - }, - { - "name": "vunmute", - "default_setting": False, - "image": "\N{SPEAKER}", - "case_str": "Voice Unmute", - "audit_type": "overwrite_update", - }, - { - "name": "cunmute", - "default_setting": False, - "image": "\N{SPEAKER}", - "case_str": "Channel Unmute", - "audit_type": "overwrite_update", - }, - { - "name": "sunmute", - "default_setting": True, - "image": "\N{SPEAKER}", - "case_str": "Server Unmute", - "audit_type": "overwrite_update", - }, - { - "name": "vkick", - "default_setting": False, - "image": "\N{SPEAKER WITH CANCELLATION STROKE}", - "case_str": "Voice Kick", - }, -] diff --git a/redbot/cogs/mod/mod.py b/redbot/cogs/mod/mod.py index 99ab02340..304e9d258 100644 --- a/redbot/cogs/mod/mod.py +++ b/redbot/cogs/mod/mod.py @@ -12,7 +12,6 @@ from redbot.core import Config, modlog, commands from redbot.core.bot import Red from redbot.core.i18n import Translator, cog_i18n from redbot.core.utils._internal_utils import send_to_owners_with_prefix_replaced -from .casetypes import CASETYPES from .events import Events from .kickban import KickBanMixin from .mutes import MuteMixin diff --git a/redbot/cogs/mod/names.py b/redbot/cogs/mod/names.py index d1eaadee2..cf247a7f4 100644 --- a/redbot/cogs/mod/names.py +++ b/redbot/cogs/mod/names.py @@ -196,7 +196,7 @@ class ModInfo(MixinMeta): elif user.status.name == "online": statusemoji = "\N{LARGE GREEN CIRCLE}" elif user.status.name == "offline": - statusemoji = "\N{MEDIUM WHITE CIRCLE}" + statusemoji = "\N{MEDIUM WHITE CIRCLE}\N{VARIATION SELECTOR-16}" elif user.status.name == "dnd": statusemoji = "\N{LARGE RED CIRCLE}" elif user.status.name == "idle": diff --git a/redbot/cogs/warnings/warnings.py b/redbot/cogs/warnings/warnings.py index 726604ec1..a64a4913e 100644 --- a/redbot/cogs/warnings/warnings.py +++ b/redbot/cogs/warnings/warnings.py @@ -89,13 +89,13 @@ class Warnings(commands.Cog): { "name": "warning", "default_setting": True, - "image": "\N{WARNING SIGN}", + "image": "\N{WARNING SIGN}\N{VARIATION SELECTOR-16}", "case_str": "Warning", }, { "name": "unwarned", "default_setting": True, - "image": "\N{WARNING SIGN}", + "image": "\N{WARNING SIGN}\N{VARIATION SELECTOR-16}", "case_str": "Unwarned", }, ] diff --git a/redbot/core/generic_casetypes.py b/redbot/core/generic_casetypes.py index 22e54fa41..415728fe3 100644 --- a/redbot/core/generic_casetypes.py +++ b/redbot/core/generic_casetypes.py @@ -30,7 +30,7 @@ softban = { unban = { "name": "unban", "default_setting": True, - "image": "\N{DOVE OF PEACE}", + "image": "\N{DOVE OF PEACE}\N{VARIATION SELECTOR-16}", "case_str": "Unban", } voiceban = { @@ -42,7 +42,7 @@ voiceban = { voiceunban = { "name": "voiceunban", "default_setting": True, - "image": "\N{SPEAKER}", + "image": "\N{SPEAKER}\N{VARIATION SELECTOR-16}", "case_str": "Voice Unban", } voicemute = { @@ -69,19 +69,19 @@ servermute = { voiceunmute = { "name": "vunmute", "default_setting": False, - "image": "\N{SPEAKER}", + "image": "\N{SPEAKER}\N{VARIATION SELECTOR-16}", "case_str": "Voice Unmute", } channelunmute = { "name": "cunmute", "default_setting": False, - "image": "\N{SPEAKER}", + "image": "\N{SPEAKER}\N{VARIATION SELECTOR-16}", "case_str": "Channel Unmute", } serverunmute = { "name": "sunmute", "default_setting": True, - "image": "\N{SPEAKER}", + "image": "\N{SPEAKER}\N{VARIATION SELECTOR-16}", "case_str": "Server Unmute", } diff --git a/redbot/core/utils/menus.py b/redbot/core/utils/menus.py index 18e990249..0dded6ee2 100644 --- a/redbot/core/utils/menus.py +++ b/redbot/core/utils/menus.py @@ -223,4 +223,8 @@ def start_adding_reactions( return loop.create_task(task()) -DEFAULT_CONTROLS = {"⬅": prev_page, "❌": close_menu, "➡": next_page} +DEFAULT_CONTROLS = { + "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}": prev_page, + "\N{CROSS MARK}": close_menu, + "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}": next_page, +}