Проблема с кодом на пайтоне использующий discord.py
В общем пытаюсь отправить какое нибудь сообщение через бота и пишет следующее:
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("ТОКИН")
Источник: Stack Overflow на русском