class ChessInviteResponder(ChessView):
"""Класс для отображения кнопок приглашения в шахматную игру."""
def __init__(
self,
inviter: disnake.Member,
invited: disnake.Member,
chess960: bool,
language: str,
game_id: int,
*args, **kwargs
):
super().__init__(*args, **kwargs)
self.inviter: disnake.Member = inviter
self.invited: disnake.Member = invited
self.chess960: bool = chess960
self.language: str = language
self.game_id: int = game_id
@disnake.ui.button(
label=disnake.Localized(
"Accept",
key="button_accept_label"
),
style=disnake.ButtonStyle.green, custom_id="accept_invite"
)
async def accept_invite_button(self, button: disnake.ui.Button, inter: disnake.MessageInteraction) -> None:
if inter.author.id == self.invited.id:
accept_button = AcceptInviteButton(
bot=self.bot,
inviter=self.inviter,
invited=self.invited,
chess960=self.chess960,
language=self.language,
game_id=self.game_id
)
await accept_button.callback(button, inter)
elif inter.author.id == self.inviter.id:
await inter.response.send_message(
content="Вы не можете принять решение, так как вы пригласили другого игрока в игру."
" Пожалуйста, дождитесь ответа приглашенного игрока.",
ephemeral=True
)
else:
await inter.response.send_message("Не ваше приглашение", ephemeral=True)
disnake.Localized() не работает тут