Привет.
Я тут после миграции на discord.py 2.0 захотел сделать свою команду
help с Select Menu(эта версия разрешает это сделать). Disocrd Components уже не работает 2.0 потому нужно использовать discord.ui, одним словом, сделал как-то, но вот уже реагирования на выбор что-то не получается сделать. В консоли нет никакой ошибки, но вот сам Дискорд пишет после выбора элемента из списка:
This interaction failed
Код я писал в коге(Cog) только начал использовать эту систему, возможно я что-то в самом коге не так делаю и команда не работает?
Код:
import discord
from discord.ext import commands
from discord.ui import Select, View
class Test_Commands(commands.Cog, name='Команди розробника'):
def __init__(self, bot):
self.bot = bot
@commands.command(name='select_menu')
async def select_menu(self, ctx):
select = Select(
placeholder='Choose an action...',
options=[
discord.SelectOption(
label='lbl',
value='1',
description='desc'
),
discord.SelectOption(
label='lbl',
value='2',
description='desc'
),
discord.SelectOption(
label='lbl',
value='3',
description='Desc'
)
]
)
async def my_callback(interaction:discord.Interaction):
if select.values[0] == '1':
await interaction.response.reply(f'You chose {select.values[0]}')
if select.values[0] == '2':
await interaction.response.reply(f'You chose {select.values[0]}')
if select.values[0] == '3':
await interaction.response.reply(f'You chose {select.values[0]}')
select.callback = my_callback
view = View()
view.add_item(select)
await ctx.defer(ephemeral=True)
await ctx.send('Select menu', view=view)
async def setup(bot):
await bot.add_cog(Test_Commands(bot))