mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 03:08:55 -05:00
Fix menus passing PartialEmoji instead of str (#6143)
This commit is contained in:
parent
cbe50bf82e
commit
ecb60c0856
@ -32,10 +32,8 @@ _active_menus: Dict[int, SimpleMenu] = {}
|
|||||||
|
|
||||||
|
|
||||||
class _GenericButton(discord.ui.Button):
|
class _GenericButton(discord.ui.Button):
|
||||||
def __init__(self, emoji: Union[str, discord.PartialEmoji], func):
|
def __init__(self, emoji: discord.PartialEmoji, func: _ControlCallable):
|
||||||
super().__init__(
|
super().__init__(emoji=emoji, style=discord.ButtonStyle.grey)
|
||||||
emoji=discord.PartialEmoji.from_str(emoji), style=discord.ButtonStyle.grey
|
|
||||||
)
|
|
||||||
self.func = func
|
self.func = func
|
||||||
|
|
||||||
async def callback(self, interaction: discord.Interaction):
|
async def callback(self, interaction: discord.Interaction):
|
||||||
@ -45,7 +43,11 @@ class _GenericButton(discord.ui.Button):
|
|||||||
message = self.view.message
|
message = self.view.message
|
||||||
page = self.view.current_page
|
page = self.view.current_page
|
||||||
timeout = self.view.timeout
|
timeout = self.view.timeout
|
||||||
emoji = self.emoji
|
emoji = (
|
||||||
|
str(self.emoji)
|
||||||
|
if self.emoji.is_unicode_emoji()
|
||||||
|
else (ctx.bot.get_emoji(self.emoji.id) or self.emoji)
|
||||||
|
)
|
||||||
try:
|
try:
|
||||||
await self.func(ctx, pages, controls, message, page, timeout, emoji)
|
await self.func(ctx, pages, controls, message, page, timeout, emoji)
|
||||||
except Exception:
|
except Exception:
|
||||||
@ -148,18 +150,19 @@ async def menu(
|
|||||||
has_close = False
|
has_close = False
|
||||||
to_add = {}
|
to_add = {}
|
||||||
for emoji, func in controls.items():
|
for emoji, func in controls.items():
|
||||||
|
part_emoji = discord.PartialEmoji.from_str(str(emoji))
|
||||||
if func == next_page:
|
if func == next_page:
|
||||||
has_next = True
|
has_next = True
|
||||||
if emoji != view.forward_button.emoji:
|
if part_emoji != view.forward_button.emoji:
|
||||||
view.forward_button.emoji = discord.PartialEmoji.from_str(emoji)
|
view.forward_button.emoji = part_emoji
|
||||||
elif func == prev_page:
|
elif func == prev_page:
|
||||||
has_prev = True
|
has_prev = True
|
||||||
if emoji != view.backward_button.emoji:
|
if part_emoji != view.backward_button.emoji:
|
||||||
view.backward_button.emoji = discord.PartialEmoji.from_str(emoji)
|
view.backward_button.emoji = part_emoji
|
||||||
elif func == close_menu:
|
elif func == close_menu:
|
||||||
has_close = True
|
has_close = True
|
||||||
else:
|
else:
|
||||||
to_add[emoji] = func
|
to_add[part_emoji] = func
|
||||||
if not has_next:
|
if not has_next:
|
||||||
view.remove_item(view.forward_button)
|
view.remove_item(view.forward_button)
|
||||||
if not has_prev:
|
if not has_prev:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user