Add variation selector-16 as appropriate to emojis across Red (#4127)

This commit is contained in:
jack1142 2020-08-10 03:05:57 +02:00 committed by GitHub
parent 4385aac90c
commit 01a6ef3a8f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 70 additions and 162 deletions

View File

@ -75,8 +75,14 @@ class PlayerControllerCommands(MixinMeta, metaclass=CompositeMetaClass):
"""Now playing.""" """Now playing."""
if not self._player_check(ctx): if not self._player_check(ctx):
return await self.send_embed_msg(ctx, title=_("Nothing playing.")) return await self.send_embed_msg(ctx, title=_("Nothing playing."))
expected: Union[Tuple[str, ...]] = ("", "", "", "", "\N{CROSS MARK}") emoji = {
emoji = {"prev": "", "stop": "", "pause": "", "next": "", "close": "\N{CROSS MARK}"} "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) player = lavalink.get_player(ctx.guild.id)
if player.current: if player.current:
arrow = await self.draw_time(ctx) arrow = await self.draw_time(ctx)
@ -138,7 +144,7 @@ class PlayerControllerCommands(MixinMeta, metaclass=CompositeMetaClass):
return return
if not player.queue and not autoplay: if not player.queue and not autoplay:
expected = ("", "", "\N{CROSS MARK}") expected = (emoji["stop"], emoji["pause"], emoji["close"])
task: Optional[asyncio.Task] task: Optional[asyncio.Task]
if player.current: if player.current:
task = start_adding_reactions(message, expected[:5]) task = start_adding_reactions(message, expected[:5])

View File

@ -34,23 +34,23 @@ class EqualizerCommands(MixinMeta, metaclass=CompositeMetaClass):
player = lavalink.get_player(ctx.guild.id) player = lavalink.get_player(ctx.guild.id)
eq = player.fetch("eq", Equalizer()) eq = player.fetch("eq", Equalizer())
reactions = [ reactions = [
"\N{BLACK LEFT-POINTING TRIANGLE}", "\N{BLACK LEFT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}",
"\N{LEFTWARDS BLACK ARROW}", "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}",
"\N{BLACK UP-POINTING DOUBLE TRIANGLE}", "\N{BLACK UP-POINTING DOUBLE TRIANGLE}",
"\N{UP-POINTING SMALL RED TRIANGLE}", "\N{UP-POINTING SMALL RED TRIANGLE}",
"\N{DOWN-POINTING SMALL RED TRIANGLE}", "\N{DOWN-POINTING SMALL RED TRIANGLE}",
"\N{BLACK DOWN-POINTING DOUBLE TRIANGLE}", "\N{BLACK DOWN-POINTING DOUBLE TRIANGLE}",
"\N{BLACK RIGHTWARDS ARROW}", "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}",
"\N{BLACK RIGHT-POINTING TRIANGLE}", "\N{BLACK RIGHT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}",
"\N{BLACK CIRCLE FOR RECORD}", "\N{BLACK CIRCLE FOR RECORD}\N{VARIATION SELECTOR-16}",
"\N{INFORMATION SOURCE}", "\N{INFORMATION SOURCE}\N{VARIATION SELECTOR-16}",
] ]
await self._eq_msg_clear(player.fetch("eq_message")) await self._eq_msg_clear(player.fetch("eq_message"))
eq_message = await ctx.send(box(eq.visualise(), lang="ini")) eq_message = await ctx.send(box(eq.visualise(), lang="ini"))
if dj_enabled and not await self._can_instaskip(ctx, ctx.author): if dj_enabled and not await self._can_instaskip(ctx, ctx.author):
with contextlib.suppress(discord.HTTPException): 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: else:
start_adding_reactions(eq_message, reactions) start_adding_reactions(eq_message, reactions)

View File

@ -83,9 +83,9 @@ class LocalTrackCommands(MixinMeta, metaclass=CompositeMetaClass):
"\N{DIGIT THREE}\N{COMBINING ENCLOSING KEYCAP}": _local_folder_menu, "\N{DIGIT THREE}\N{COMBINING ENCLOSING KEYCAP}": _local_folder_menu,
"\N{DIGIT FOUR}\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{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{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() dj_enabled = await self.config.guild(ctx.guild).dj_enabled()

View File

@ -358,9 +358,9 @@ class PlayerCommands(MixinMeta, metaclass=CompositeMetaClass):
"\N{DIGIT THREE}\N{COMBINING ENCLOSING KEYCAP}": _category_search_menu, "\N{DIGIT THREE}\N{COMBINING ENCLOSING KEYCAP}": _category_search_menu,
"\N{DIGIT FOUR}\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{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{CROSS MARK}": close_menu,
"\N{BLACK RIGHTWARDS ARROW}": next_page, "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}": next_page,
} }
playlist_search_controls = { playlist_search_controls = {
"\N{DIGIT ONE}\N{COMBINING ENCLOSING KEYCAP}": _playlist_search_menu, "\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 THREE}\N{COMBINING ENCLOSING KEYCAP}": _playlist_search_menu,
"\N{DIGIT FOUR}\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{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{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() 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 THREE}\N{COMBINING ENCLOSING KEYCAP}": _search_menu,
"\N{DIGIT FOUR}\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{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{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): if not self._player_check(ctx):

View File

@ -49,10 +49,10 @@ class QueueCommands(MixinMeta, metaclass=CompositeMetaClass):
return None return None
queue_controls = { queue_controls = {
"\N{LEFTWARDS BLACK ARROW}": prev_page, "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}": prev_page,
"\N{CROSS MARK}": close_menu, "\N{CROSS MARK}": close_menu,
"\N{BLACK RIGHTWARDS ARROW}": next_page, "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}": next_page,
"\N{INFORMATION SOURCE}": _queue_menu, "\N{INFORMATION SOURCE}\N{VARIATION SELECTOR-16}": _queue_menu,
} }
if not self._player_check(ctx): if not self._player_check(ctx):
@ -107,16 +107,16 @@ class QueueCommands(MixinMeta, metaclass=CompositeMetaClass):
): ):
return return
expected: Union[Tuple[str, ...]] = ("", "", "", "", "\N{CROSS MARK}")
emoji = { emoji = {
"prev": "", "prev": "\N{BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR}\N{VARIATION SELECTOR-16}",
"stop": "", "stop": "\N{BLACK SQUARE FOR STOP}\N{VARIATION SELECTOR-16}",
"pause": "", "pause": "\N{BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR}\N{VARIATION SELECTOR-16}",
"next": "", "next": "\N{BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR}\N{VARIATION SELECTOR-16}",
"close": "\N{CROSS MARK}", "close": "\N{CROSS MARK}",
} }
expected = tuple(emoji.values())
if not player.queue and not autoplay: if not player.queue and not autoplay:
expected = ("", "", "\N{CROSS MARK}") expected = (emoji["stop"], emoji["pause"], emoji["close"])
if player.current: if player.current:
task: Optional[asyncio.Task] = start_adding_reactions(message, expected[:5]) task: Optional[asyncio.Task] = start_adding_reactions(message, expected[:5])
else: else:

View File

@ -70,16 +70,16 @@ class EqualizerUtilities(MixinMeta, metaclass=CompositeMetaClass):
) -> None: ) -> None:
player.store("eq", eq) player.store("eq", eq)
emoji = { emoji = {
"far_left": "\N{BLACK LEFT-POINTING TRIANGLE}", "far_left": "\N{BLACK LEFT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}",
"one_left": "\N{LEFTWARDS BLACK ARROW}", "one_left": "\N{LEFTWARDS BLACK ARROW}\N{VARIATION SELECTOR-16}",
"max_output": "\N{BLACK UP-POINTING DOUBLE TRIANGLE}", "max_output": "\N{BLACK UP-POINTING DOUBLE TRIANGLE}",
"output_up": "\N{UP-POINTING SMALL RED TRIANGLE}", "output_up": "\N{UP-POINTING SMALL RED TRIANGLE}",
"output_down": "\N{DOWN-POINTING SMALL RED TRIANGLE}", "output_down": "\N{DOWN-POINTING SMALL RED TRIANGLE}",
"min_output": "\N{BLACK DOWN-POINTING DOUBLE TRIANGLE}", "min_output": "\N{BLACK DOWN-POINTING DOUBLE TRIANGLE}",
"one_right": "\N{BLACK RIGHTWARDS ARROW}", "one_right": "\N{BLACK RIGHTWARDS ARROW}\N{VARIATION SELECTOR-16}",
"far_right": "\N{BLACK RIGHT-POINTING TRIANGLE}", "far_right": "\N{BLACK RIGHT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}",
"reset": "\N{BLACK CIRCLE FOR RECORD}", "reset": "\N{BLACK CIRCLE FOR RECORD}\N{VARIATION SELECTOR-16}",
"info": "\N{INFORMATION SOURCE}", "info": "\N{INFORMATION SOURCE}\N{VARIATION SELECTOR-16}",
} }
selector = f'{" " * 8}{" " * selected}^^' selector = f'{" " * 8}{" " * selected}^^'
try: 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.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands)
await self._clear_react(message, emoji) 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.remove_react(message, react_emoji, react_user)
await self._eq_interact(ctx, player, eq, message, max(selected - 1, 0)) 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.remove_react(message, react_emoji, react_user)
await self._eq_interact(ctx, player, eq, message, min(selected + 1, 14)) 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._apply_gain(ctx.guild.id, selected, _min)
await self._eq_interact(ctx, player, eq, message, selected) 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) await self.remove_react(message, react_emoji, react_user)
selected = 0 selected = 0
await self._eq_interact(ctx, player, eq, message, selected) 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) await self.remove_react(message, react_emoji, react_user)
selected = 14 selected = 14
await self._eq_interact(ctx, player, eq, message, selected) 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) await self.remove_react(message, react_emoji, react_user)
for band in range(eq.band_count): for band in range(eq.band_count):
eq.set_gain(band, 0.0) eq.set_gain(band, 0.0)
await self._apply_gains(ctx.guild.id, eq.bands) await self._apply_gains(ctx.guild.id, eq.bands)
await self._eq_interact(ctx, player, eq, message, selected) 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 self.remove_react(message, react_emoji, react_user)
await ctx.send_help(self.command_equalizer) await ctx.send_help(self.command_equalizer)
await self._eq_interact(ctx, player, eq, message, selected) await self._eq_interact(ctx, player, eq, message, selected)

View File

@ -365,9 +365,9 @@ class FormattingUtilities(MixinMeta, metaclass=CompositeMetaClass):
bar = "\N{BOX DRAWINGS HEAVY HORIZONTAL}" bar = "\N{BOX DRAWINGS HEAVY HORIZONTAL}"
seek = "\N{RADIO BUTTON}" seek = "\N{RADIO BUTTON}"
if paused: if paused:
msg = "\N{DOUBLE VERTICAL BAR}" msg = "\N{DOUBLE VERTICAL BAR}\N{VARIATION SELECTOR-16}"
else: else:
msg = "\N{BLACK RIGHT-POINTING TRIANGLE}" msg = "\N{BLACK RIGHT-POINTING TRIANGLE}\N{VARIATION SELECTOR-16}"
for i in range(sections): for i in range(sections):
if i == loc_time: if i == loc_time:
msg += seek msg += seek

View File

@ -22,6 +22,7 @@ T_ = Translator("Economy", __file__)
logger = logging.getLogger("red.economy") logger = logging.getLogger("red.economy")
NUM_ENC = "\N{COMBINING ENCLOSING KEYCAP}" NUM_ENC = "\N{COMBINING ENCLOSING KEYCAP}"
VARIATION_SELECTOR = "\N{VARIATION SELECTOR-16}"
MOCK_MEMBER = namedtuple("Member", "id guild") MOCK_MEMBER = namedtuple("Member", "id guild")
@ -34,8 +35,8 @@ class SMReel(Enum):
sunflower = "\N{SUNFLOWER}" sunflower = "\N{SUNFLOWER}"
six = "\N{DIGIT SIX}" + NUM_ENC six = "\N{DIGIT SIX}" + NUM_ENC
mushroom = "\N{MUSHROOM}" mushroom = "\N{MUSHROOM}"
heart = "\N{HEAVY BLACK HEART}" heart = "\N{HEAVY BLACK HEART}" + VARIATION_SELECTOR
snowflake = "\N{SNOWFLAKE}" snowflake = "\N{SNOWFLAKE}" + VARIATION_SELECTOR
_ = lambda s: s _ = lambda s: s

View File

@ -22,7 +22,7 @@ _ = T_ = Translator("General", __file__)
class RPS(Enum): class RPS(Enum):
rock = "\N{MOYAI}" rock = "\N{MOYAI}"
paper = "\N{PAGE FACING UP}" paper = "\N{PAGE FACING UP}"
scissors = "\N{BLACK SCISSORS}" scissors = "\N{BLACK SCISSORS}\N{VARIATION SELECTOR-16}"
class RPSParser: class RPSParser:
@ -314,7 +314,9 @@ class General(commands.Cog):
"\N{LARGE GREEN CIRCLE}": lambda x: x.status is discord.Status.online, "\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 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{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( "\N{LARGE PURPLE CIRCLE}": lambda x: any(
a.type is discord.ActivityType.streaming for a in x.activities 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"), "MEMBER_LIST_DISABLED": _("Member list disabled"),
} }
guild_features_list = [ 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 = _( joined_on = _(

View File

@ -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",
},
]

View File

@ -12,7 +12,6 @@ from redbot.core import Config, modlog, commands
from redbot.core.bot import Red from redbot.core.bot import Red
from redbot.core.i18n import Translator, cog_i18n from redbot.core.i18n import Translator, cog_i18n
from redbot.core.utils._internal_utils import send_to_owners_with_prefix_replaced from redbot.core.utils._internal_utils import send_to_owners_with_prefix_replaced
from .casetypes import CASETYPES
from .events import Events from .events import Events
from .kickban import KickBanMixin from .kickban import KickBanMixin
from .mutes import MuteMixin from .mutes import MuteMixin

View File

@ -196,7 +196,7 @@ class ModInfo(MixinMeta):
elif user.status.name == "online": elif user.status.name == "online":
statusemoji = "\N{LARGE GREEN CIRCLE}" statusemoji = "\N{LARGE GREEN CIRCLE}"
elif user.status.name == "offline": elif user.status.name == "offline":
statusemoji = "\N{MEDIUM WHITE CIRCLE}" statusemoji = "\N{MEDIUM WHITE CIRCLE}\N{VARIATION SELECTOR-16}"
elif user.status.name == "dnd": elif user.status.name == "dnd":
statusemoji = "\N{LARGE RED CIRCLE}" statusemoji = "\N{LARGE RED CIRCLE}"
elif user.status.name == "idle": elif user.status.name == "idle":

View File

@ -89,13 +89,13 @@ class Warnings(commands.Cog):
{ {
"name": "warning", "name": "warning",
"default_setting": True, "default_setting": True,
"image": "\N{WARNING SIGN}", "image": "\N{WARNING SIGN}\N{VARIATION SELECTOR-16}",
"case_str": "Warning", "case_str": "Warning",
}, },
{ {
"name": "unwarned", "name": "unwarned",
"default_setting": True, "default_setting": True,
"image": "\N{WARNING SIGN}", "image": "\N{WARNING SIGN}\N{VARIATION SELECTOR-16}",
"case_str": "Unwarned", "case_str": "Unwarned",
}, },
] ]

View File

@ -30,7 +30,7 @@ softban = {
unban = { unban = {
"name": "unban", "name": "unban",
"default_setting": True, "default_setting": True,
"image": "\N{DOVE OF PEACE}", "image": "\N{DOVE OF PEACE}\N{VARIATION SELECTOR-16}",
"case_str": "Unban", "case_str": "Unban",
} }
voiceban = { voiceban = {
@ -42,7 +42,7 @@ voiceban = {
voiceunban = { voiceunban = {
"name": "voiceunban", "name": "voiceunban",
"default_setting": True, "default_setting": True,
"image": "\N{SPEAKER}", "image": "\N{SPEAKER}\N{VARIATION SELECTOR-16}",
"case_str": "Voice Unban", "case_str": "Voice Unban",
} }
voicemute = { voicemute = {
@ -69,19 +69,19 @@ servermute = {
voiceunmute = { voiceunmute = {
"name": "vunmute", "name": "vunmute",
"default_setting": False, "default_setting": False,
"image": "\N{SPEAKER}", "image": "\N{SPEAKER}\N{VARIATION SELECTOR-16}",
"case_str": "Voice Unmute", "case_str": "Voice Unmute",
} }
channelunmute = { channelunmute = {
"name": "cunmute", "name": "cunmute",
"default_setting": False, "default_setting": False,
"image": "\N{SPEAKER}", "image": "\N{SPEAKER}\N{VARIATION SELECTOR-16}",
"case_str": "Channel Unmute", "case_str": "Channel Unmute",
} }
serverunmute = { serverunmute = {
"name": "sunmute", "name": "sunmute",
"default_setting": True, "default_setting": True,
"image": "\N{SPEAKER}", "image": "\N{SPEAKER}\N{VARIATION SELECTOR-16}",
"case_str": "Server Unmute", "case_str": "Server Unmute",
} }

View File

@ -223,4 +223,8 @@ def start_adding_reactions(
return loop.create_task(task()) 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,
}