Ошибка disnake.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'Menu' is not defined
Решил значит сделать в боте меню через кнопки и решил для теста хотя бы просто кнопку добавить, так как с когами работаю впервые. Перерыл интернет и не нашёл ничего подобного
import disnake
from disnake.ext import commands
from typing import Optional
class commands(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
print(print(f"Bot {self.bot.user} is ready to work!"))
class Menu(disnake.ui.View):
def __init__(self):
super().__init__(timeout=None)
self.value: Optional[bool] = None
@disnake.ui.button(label='1', style=disnake.ButtonStyle.gray)
async def get_menu(self, button: disnake.Button, interaction: disnake.Interaction):
await interaction.response.send_message("Ты нажал 1")
@commands.command(name="menu")
async def menu(self, ctx):
view = Menu()
await ctx.send("Меню", view=view)
await view.wait()
def setup(bot):
bot.add_cog(commands(bot))
в Pycharm красным подсвечивается строка view = Menu() но я никак не могу понять в чём дело
Пробовал тот же код запускать даже через основной файл бота, но у вы так тоже не работает
Ответы (1 шт):
Мне кажется ты кнопки совсем не так добавляешь...
Основываясь на документацию disnake, кнопки добавляются через disnake.Button. Такого view = Main() вообще не существует !! в документации.
Вот пример слеш-команды, в которой отправляется кнопочка.
@bot.slash_command()
async def button(inter):
await inter.response.send_message("ураа кнопочка",
components=[
disnake.ui.Button(label="Название", style=disnake.ButtonStyle.blurple, custom_id="id")]
)
Также вы можете прочитать документации стилям, а также поизучать как взаимодействовать с ними (Вопрос с англ. stackoverflow).
Простите за очень поздний ответ, просто не мог увидить вопрос раньше. Надеюсь помог!