Проблема с кодом на пайтоне использующий discord.py

Рейтинг: 1Ответов: 1Опубликовано: 05.06.2023

В общем пытаюсь отправить какое нибудь сообщение через бота и пишет следующее:

Traceback (most recent call last):
  File "C:\Users\ivanm\OneDrive\Рабочий стол\самое нужное\код\intelij\untitled5\test.py", line 1, in <module>
    from discord_components import Button, Select, SelectOption, ComponentsBot
  File "C:\Users\ivanm\OneDrive\Рабочий стол\самое нужное\код\intelij\untitled5\venv\Lib\site-packages\discord_components\__init__.py", line 1, in <module>
    from .client import *
  File "C:\Users\ivanm\OneDrive\Рабочий стол\самое нужное\код\intelij\untitled5\venv\Lib\site-packages\discord_components\client.py", line 12, in <module>
    from .component import Component
  File "C:\Users\ivanm\OneDrive\Рабочий стол\самое нужное\код\intelij\untitled5\venv\Lib\site-packages\discord_components\component.py", line 3, in <module>
    from discord import PartialEmoji, Emoji, InvalidArgument
ImportError: cannot import name 'InvalidArgument' from 'discord' (C:\Users\ivanm\OneDrive\Рабочий стол\самое нужное\код\intelij\untitled5\venv\Lib\site-packages\discord\__init__.

То ли руки из жопы, то ли проблема с импортами, вроде бы код с гитхаба брал (код ниже)

from discord_components import Button, Select, SelectOption, ComponentsBot


bot = ComponentsBot("!")
"""
or you can just override the methods yourself

bot = discord.ext.commands.Bot("!")
DiscordComponents(bot)
"""


@bot.event
async def on_ready():
    print(f"Logged in as {bot.user}!")


@bot.command()
async def button(ctx):
    await ctx.send("Buttons!", components=[Button(label="Button", custom_id="button1")])
    interaction = await bot.wait_for(
        "button_click", check=lambda inter: inter.custom_id == "button1"
    )
    await interaction.send(content="Button Clicked")


@bot.command()
async def select(ctx):
    await ctx.send(
        "Selects!",
        components=[
            Select(
                placeholder="Select something!",
                options=[
                    SelectOption(label="a", value="a"),
                    SelectOption(label="b", value="b"),
                ],
                custom_id="select1",
            )
        ],
    )

    interaction = await bot.wait_for(
        "select_option", check=lambda inter: inter.custom_id == "select1"
    )
    await interaction.send(content=f"{interaction.values[0]} selected!")


bot.run("ТОКИН")

Ответы

▲ 1Принят

Из discord.py убрали InvalidArgument а discord_components пытается его импортировать.

Возможно, у вас старая версия discord_components, которую надо обновить.