как сделать подтверждение бана/мута disnake?
всем привет. хочу сделать подтверждение бана участника с сервера. есть 2 кнопки - "Подтвердить" и "Отмена" (они уже готовы). id соответствующие - "apply" и "cancel". помоги те ПОЖАЛУЙСТА :)
Ответы (1 шт):
Автор решения: Jack Owest
→ Ссылка
Добавьте в свой discorn.ui ещё один элемент управления:
from disnake import ui
from disnake.ext.commands import Context
class BanConfirmation(View):
def __init__(self, member):
super().__init__()
self.member = member
@button(label='Подтвердить', style=discord.ButtonStyle.green, custom_id='apply')
async def apply_button(self, button: discord.Button, interaction: discord.Interaction):
await interaction.response.defer()
await self.member.ban()
await interaction.followup.send(f'{self.member.display_name} был забанен!')
@button(label='Отмена', style=discord.ButtonStyle.red, custom_id='cancel')
async def cancel_button(self, button: discord.Button, interaction: discord.Interaction):
await interaction.response.defer()
await interaction.followup.send('Бан отменен!')
Ну и соответственно вызов:
@client.command()
async def ban(ctx, member: discord.Member):
ban_confirmation = BanConfirmation(member)
await ctx.send(f"Вы уверены, что хотите забанить {member.display_name}?", view=ban_confirmation)