В вашем коде есть несколько ошибок.
Сначала, в строке
super().__init__(
placeholder="GAMES",
min_values=1,
max_values=1,
options=options
)
вы используете min_values и max_values, которые являются недопустимыми аргументами для конструктора StringSelect. Вместо этого вы можете использовать multi=False, чтобы указать, что пользователь может выбрать только одну опцию.
Также в строке
await inter.response.send_message(f"Неплохой выбор{self.values[0]}. Удачи!")
вы используете self.values[0], чтобы получить выбранную опцию, но не добавляете пробел между текстом и значением. Это может привести к тому, что текст будет выглядеть некорректно. Поправьте это, добавив пробел: f"Неплохой выбор {self.values[0]}. Удачи!"
Ваш код также содержит несколько неопределенных переменных. В частности, вы используете disnake.ui.StringSelect, disnake.SelectOption, disnake.ui.View, disnake.MessageInteraction и disnake.responce, но не указываете, откуда они импортированы. Убедитесь, что вы правильно импортировали эти модули или классы.
Наконец, в коде есть несколько названий, которые не соответствуют тому, что ожидается. В частности, вы объявляете класс Dropdown, но в конструкторе объекта вы используете имя Dropdowm с опечаткой. Убедитесь, что используете корректное имя класса.
код ниже
class Dropdown(disnake.ui.StringSelect):
def __init__(self):
options=[
disnake.SelectOption(label="Arma3",description="Игра для тактикульщиков"),
disnake.SelectOption(label="Escape from Tarkov",description="Неоптимизированный кал!"),
disnake.SelectOption(label="Minecraft",description="Классика жанра")
]
super().__init__(
placeholder="GAMES",
min_values=1,
max_values=1,
options=options
)
async def callback(inter: disnake.MessageInteraction):
await inter.response.send_message(f"Неплохой выбор{self.values[0]}. Удачи!")
class DropdownView(disnake.ui.View):
def __init__(self):
super().__init__()
self.add_item(Dropdowm())
@bot.command()
async def order(ctx):
await inter.responce.send_message("Выбирите игру, в которую желаете сыграть!:", view=DropdownView())