mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 03:08:55 -05:00
Add variation selector-16 as appropriate to emojis across Red (#4127)
This commit is contained in:
parent
4385aac90c
commit
01a6ef3a8f
@ -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])
|
||||||
|
|||||||
@ -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)
|
||||||
|
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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):
|
||||||
|
|||||||
@ -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:
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 = _(
|
||||||
|
|||||||
@ -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",
|
|
||||||
},
|
|
||||||
]
|
|
||||||
@ -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
|
||||||
|
|||||||
@ -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":
|
||||||
|
|||||||
@ -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",
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@ -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",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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,
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user