Для создания выпадающего меню в своем Discord-боте с использованием библиотеки Discord.py, вам понадобится использовать класс discord.ui.Select, который представляет выпадающее меню, и добавить его в состав вашего интерактивного сообщения с помощью класса discord.Message.add_component().
Вот пример кода, демонстрирующий, как создать выпадающее меню и обрабатывать выбор пользователя:
import discord from discord.ext import commands from discord.ui import Select, SelectOption intents = discord.Intents.default() intents.typing = False intents.presences = False bot = commands.Bot(command_prefix="!", intents=intents) options = [ SelectOption(label="Option A", value="a"), SelectOption(label="Option B", value="b"), SelectOption(label="Option C", value="c") ] @bot.event async def on_ready(): print(f"Logged in as {bot.user.name}") @bot.command() async def show_menu(ctx): select = Select( placeholder="Select an option", options=options ) await ctx.send("Please select an option:", components=[select]) @bot.event async def on_component(ctx): if ctx.component_type == discord.ComponentType.select: # Получаем выбранный вариант selected_option = ctx.selected_options[0] # Обрабатываем выбор пользователя if selected_option == "a": await ctx.send("You selected Option A") elif selected_option == "b": await ctx.send("You selected Option B") elif selected_option == "c": await ctx.send("You selected Option C") # Сбрасываем выбранный вариант ctx.selected_options.clear() bot.run("YOUR_BOT_TOKEN")
В этом примере мы создаем выпадающее меню с тремя опциями (Option A, Option B, Option C) и выводим его с помощью команды "!show_menu". Когда пользователь выбирает опцию, событие on_component вызывается, и мы обрабатываем выбор пользователя, отправляя соответствующее сообщение.
Не забудьте заменить "YOUR_BOT_TOKEN" на токен вашего бота, чтобы код работал корректно.
Однако, следует отметить, что в настоящее время (на момент написания) класс discord.ui.Select еще находится в стадии разработки и может не быть полностью стабильным. Убедитесь, что у вас установлена последняя версия discord.py и следите за обновлениями документации и статусом библиотеки для получения актуальной информации о создании выпадающих меню.