@Elvinchik

Ошибка взаимодействия: discord.py?

Всем привет! У меня тут вот ошибка взаимодействия. Использую библиотеку DiscordComponents а именно SelectMenu.

Так вот, когда я выбираю в меню какую то категорию, то он мне выводит сообщение, а когда я хочу поменять данную категорию, мне выводит "Ошибка взаимодействия"

Код:

@bot.command()
async def help(ctx):
home = discord.Embed(
title=' Help',
description='Чтобы получить справку по категориям команд бота используйте меню, которое есть под сообщением.\n\n'
'Не работает меню? Пропишите ``s.help Модерация/Рейтинг/Активности/Экономика/Информация/Развлечения/Прочее``',
colour=discord.Color.purple()
)

home.set_footer(icon_url=ctx.author.avatar_url, text=f"Запрошенно от {ctx.author}")

await ctx.send(
embed=home,
components=[
Select(
placeholder="Выберите категорию",
options=[
SelectOption(label="Модерация", value="Модерация"),
SelectOption(label="Рейтинг", value="Рейтинг"),
SelectOption(label="Активности", value="Активности"),
SelectOption(label="Экономика", value="Экономика"),
SelectOption(label="Информация", value="Информация"),
SelectOption(label="Развлечения", value="Развлечения"),
SelectOption(label="Прочее", value="Прочее")
]
)
]
)

interaction = await bot.wait_for("select_option")
selected = interaction.values[0]
if selected == "Модерация":
moderation = discord.Embed(
title=" Модерация",
description=f"``{p}ban [участник] [причина]`` — Заблокировать участника\n ``{p}kick [участник]`` — Выгнать участника\n"
f"``{p}mute [участник]`` — Заблокировать чат участнику\n``{p}unmute [участник]`` — Разблокировать чат участнику\n"
f"``{p}warn [участник]`` — Выдать предупреждение участнику\n``{p}unwarn [участник]`` — Убрать предупреждение у участника\n"
f"``{p}resetwarns [участник]`` — Убрать все предупреждения участника\n``{p}clear [кол-во]`` — Очистить чат\n"
f"``{p}warns [участник]`` — Посмотреть свои предупреждение/предупреждения участника\n"
f"``{p}antilink on/off`` — Включить/выключить антилинк систему\n``{p}lvlsystem on/off`` — Включить/выключить систему уровней"
f"``\n{p}addrole [роль] [цена]`` — Добавить роль в магазин\n``{p}removerole [роль]`` — Удалить роль из магазина\n"
f"``{p}set`` — Настройка",
colour=discord.Color.purple()
)
moderation.set_footer(icon_url=ctx.author.avatar_url, text=f"Запрошенно от {ctx.author}")
await interaction.edit_origin(embed=moderation)
elif selected == "Рейтинг":
rating = discord.Embed(
title=" Рейтинг",
description=f"``{p}leaderboards balance/level`` — Топ по балансу/уровню",
colour=discord.Color.purple()
)
rating.set_footer(icon_url=ctx.author.avatar_url, text=f"Запрошенно от {ctx.author}")
await interaction.edit_origin(embed=rating)
elif selected == "Активности":
activities = discord.Embed(
title=" Активности",
description=f"``{p}youtube`` — YouTube Together\n``{p}poker`` — Покер\n``{p}betroyal`` — BetRoyal.io\n"
f"``{p}fishington`` — Fishington.io\n``{p}chess`` — Шахматы",
colour=discord.Color.purple()
)
activities.set_footer(icon_url=ctx.author.avatar_url, text=f"Запрошенно от {ctx.author}")
await interaction.edit_origin(embed=activities)
elif selected == "Экономика":
economy = discord.Embed(
title=" Экономика",
description=f"``{p}balance [участник]`` — Показывает баланс участника\n``{p}tobank [сумма]`` — Положить деньги в банк\n"
f"``{p}withdraw [сумма]`` — Обналичить деньги с банка\n``{p}beg`` — Попрошайничать монеты\n"
f"``{p}hunt`` — Сходить на охоту\n``{p}fish`` — Сходить на рыбалку\n``{p}work`` — Работать\n"
f"``{p}daily`` — Ежедневная награда\n``{p}weekly`` — Еженедельная награда\n``{p}reward`` — Награда\n"
f"``{p}slots [сумма]`` — Казино\n``{p}roulette [цвет] [сумма]`` — Рулетка\n``{p}shop`` — Магазин\n``{p}buy [категория] [предмет]`` — Купить что-то из магазина\n"
f"``{p}sell [категория] [предмет]`` — Продать имущество\n``{p}buyrole [роль]`` — Купить роль\n``{p}roleshop`` — Магазин ролей\n"
f"``{p}addmoney [участник] [cумма]`` — Начислить деньги участнику\n``{p}takemoney [участник] [cумма]`` — Отнять деньги у участника\n"
f"``{p}bonus`` — Бонус для **Premium** пользователей",
colour=discord.Color.purple()
)
economy.set_footer(icon_url=ctx.author.avatar_url, text=f"Запрошенно от {ctx.author}")
await interaction.edit_origin(embed=economy)
elif selected == "Информация":
info = discord.Embed(
title=" Информация",
description=f"``{p}help`` — Получить список команд бота\n``{p}profile`` — Получить свой профиль\n"
f"``{p}avatar [участник]`` — Получить аватарку участника/свою\n``{p}ping`` — Получить задержку бота\n"
f"``{p}version`` — Получить версию бота\n``{p}server`` — Получить информацию о сервере\n"
f"``{p}bot`` — Получить информацию о боте",
colour=discord.Color.purple()
)
info.set_footer(icon_url=ctx.author.avatar_url, text=f"Запрошенно от {ctx.author}")
await interaction.edit_origin(embed=info)
elif selected == "Развлечения":
fun = discord.Embed(
title=" Развлечения",
description=f"``{p}8ball [вопрос]`` — Задать вопрос шару\n``{p}coin`` — Подкинуть монетку\n"
f"``{p}knb [предмет]`` — Поиграть с ботом в камень-ножницы-бумага\n"
f"``{p}iq [участник]`` — Узнать IQ участника\n``{p}try [действие]`` — Попытаться что то сделать\n"
f"``{p}kill [участник]`` — Убить участника\n``{p}kiss [участник]`` — Поцеловать участника\n"
f"``{p}pat [участник]`` — Погладить участника\n``{p}poke [участник]`` — Ткнуть участника\n"
f"``{p}hug [участник]`` — Обнять участника\n``{p}eat [участник]`` — Покушать",
colour=discord.Color.purple()
)
fun.set_footer(icon_url=ctx.author.avatar_url, text=f"Запрошенно от {ctx.author}")
await interaction.edit_origin(embed=fun)
elif selected == "Прочее":
other = discord.Embed(
title=" Прочее",
description=f"``{p}afk`` — Отойти\n``{p}say`` — Сказать от лица бота\n``{p}tinyurl [ссылка]`` — Укоротить ссылку\n"
f"``{p}rand [число] [число]`` — Рандомное число",
colour=discord.Color.purple()
)
other.set_footer(icon_url=ctx.author.avatar_url, text=f"Запрошенно от {ctx.author}")
await interaction.edit_origin(embed=other)
  • Вопрос задан
  • 2340 просмотров
Пригласить эксперта
Ответы на вопрос 1
DarkCat09
@DarkCat09
Мне помог ответ отсюда: https://qna.habr.com/q/1146510
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы