Как можно импортировать создателя модуля так, чтобы при нажатии на кнопку "Одобрить", выдавалась роль именно игроку создавшему модуль, а не тому, кто нажал на кнопку
# ————————————————————————————————————————————————————————————————————————————————————————————————————————————
# (1) Панель регистрации
@bot.command()
async def panel(interaction: discord.Integration):
await interaction.channel.send(view=Registr())
# (2) Кнопка
class Registr(discord.ui.View):
def __init__(self)->None:
super().__init__(timeout=None)
@discord.ui.button(label="Загрегистрироваться", style=discord.ButtonStyle.success)
async def on_button_click(self, interaction: discord.Interaction, button: discord.ui.Button):
await interaction.response.send_modal(Registr_Modal())
# (3) Модуль
class Registr_Modal(discord.ui.Modal):
def __init__(self):
super().__init__(title="Регистрация")
self.A = discord.ui.TextInput(label="Ваш ник в Minecraft", style=short)
self.add_item(self.A)
self.B = discord.ui.TextInput(label="Сколько вам лет?", style=short)
self.add_item(self.B)
self.C = discord.ui.TextInput(label="Оцените свою адекватность от 1 до 10", style=short)
self.add_item(self.C)
self.D = discord.ui.TextInput(label="Откуда вы узнали о сервере", style=short)
self.add_item(self.D)
self.E = discord.ui.TextInput(label="Что для вас важно для игры на сервере", style=paragraph)
self.add_item(self.E)
async def on_submit(self, interaction: discord.Interaction) -> None:
me = interaction.guild.get_member()
channel = bot.get_channel(1081988053305938020)
embed = discord.Embed(
title = "Анкетаㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ",
description = f"**Анкета игрока {interaction.user.mention}**\n"
f"Ник - {self.A.value}\n"
f"Возраст - {self.B.value}\n"
f"Адекватность - {self.C.value}\n"
f"Сайт - {self.D.value}\n"
f"Важно - {self.E.value}",
)
await interaction.response.send_message("Я отправил ваше резюме на проверку\nСпасибо за регистрацию", ephemeral=True)
await channel.send(embed=embed, view=Button1())
# (4) Кнопка
class Button1(discord.ui.View):
def __init__(self) -> None:
super().__init__(timeout=None)
@discord.ui.button(label="Одобрить", style=discord.ButtonStyle.success)
async def a(self, interaction: discord.Interaction, button: discord.ui.Button):
await interaction.response.send_message("1")
@discord.ui.button(label="Отклонить", style=discord.ButtonStyle.red)
async def b(self, interaction: discord.Interaction, button: discord.ui.Button):
await interaction.response.send_message("2")
@discord.ui.button(label="Отклонить без права на апелляцию", style=discord.ButtonStyle.red)
async def c(self, interaction: discord.Interaction, button: discord.ui.Button):
await interaction.author.add_roles(interaction.guild.get_role(1089157878910287933))
await interaction.message.delete()
# ————————————————————————————————————————————————————————————————————————————————————————————————————————————