Я сделал меню с выпадающим списком по документации Pycord и попытался основываясь на выборе пользователя добавлять ему выбранную роль.
class MyView(discord.ui.View):
@discord.ui.select(
placeholder = "Выбрать цвет",
min_values = 1,
max_values = 1,
options = [
discord.SelectOption(
emoji="<:yellow:1117540932393382069>",
label="Жёлтый"
),
discord.SelectOption(
emoji="<:black:1117540929650307185>",
label="Чёрный"
)
]
)
async def select_callback(self, interaction: discord.Interaction):
if self.values[0] == 'Жёлтый':
yellow_role = interaction.guild.get_role(1117538204648751114)
await interaction.user.add_roles(yellow_role)
elif self.values[0] == 'Чёрный':
black_role = interaction.guild.get_role(1117538428423245897)
await interaction.user.add_roles(black_role)
@bot.slash_command(name="color", description = "Меню с выбором цвета")
async def __color(ctx):
await ctx.send(view=MyView())
Но при выборе любого из пунктов меню я получаю такую ошибку:
AttributeError: 'MyView' object has no attribute 'options'