Embed + select menu в discord.py[Закрыто]
Пытаюсь сделать сочетание embed + select menu, но не могу убрать заголовок перед select menu.
Если просто уберу заголовок в select menu, то получу ошибку: Cannot send empty message.
Скрин 1 — нужный результат, скрин 2 — мой результат.
Нашёл как это реализовать в discord.js — Кликабельно*
This is a message with components — заголовок, о котором идёт речь
Мой код:
@bot.command()
async def roles(ctx):
embed = discord.Embed(
title = 'Автоматическая выдача ролей',
description = '**Вы можете самостоятельно получить роль вашего сервера выбрав ее название в меню. \
\n При выборе определённых ролей Вам будут открываться соответствующие текстовые и голосовые каналы. \
\n Если Вы не играете ни на одном из серверов, то Вам будет доступен** **__только общий чат.__**\n \
\n **Роли доступные для получения в данный момент:** \
\n? — <@&882204001393852458>\n? — <@&882204002681499698>',
color = 0xfff700,
)
embed.set_thumbnail(url='https://images8.alphacoders.com/102/1026336.jpg')
embed.set_footer(text='© Bumbazzz')
await ctx.send(embed=embed)
msg = await ctx.send(
'This is a message with components',
components = [
Select(
placeholder = "Выберите Ваш сервер",
options = [
SelectOption(label = "Sunrise", value = "Sunrise", description = "GTA 5 RP | Sunrise", emoji = '?'),
SelectOption(label = "Rainbow", value = "Rainbow", description = "GTA 5 RP | Rainbow", emoji = '?')
]
)
]
)
interaction = await bot.wait_for("select_option")
await bot.send(content = f"Роль {interaction.value[0]} была вадана!")
bot.run(TOKEN)
Ответы (1 шт):
Автор решения: Bumbazzz
→ Ссылка
Вместо параметра content можно поставить само embed-сообщение
@bot.command() # Выдача ролей при помощи select menu
async def roles(ctx):
await ctx.channel.purge(limit=1)
give_roles = discord.Embed(
title = 'Автоматическая выдача ролей',
description = '**Вы можете самостоятельно получить роль вашего сервера выбрав ее название в меню. \
\n При выборе определённых ролей Вам будут открываться соответствующие текстовые и голосовые каналы. \
\n Если Вы не играете ни на одном из серверов, то Вам будет доступен** **__только общий чат.__**\n \
\n **Роли доступные для получения в данный момент:** \
\n? — <@&889169786121097296>\n? — <@&881961587559243877>\n? — <@&881962331544891443>',
color = 0xfff700,)
give_roles.set_thumbnail(url='https://images8.alphacoders.com/102/1026336.jpg')
give_roles.set_footer(text='© Bumbazzz')
await ctx.send(
embed=give_roles,
components = [
Select(
placeholder = "Выберите Ваш сервер",
options = [
SelectOption(label = "Insquad", value = "Insquad?", description = "GTA 5 RP | InSquad", emoji = '?'),
SelectOption(label = "Sunrise", value = "Sunrise?", description = "GTA 5 RP | Sunrise", emoji = '?'),
SelectOption(label = "Rainbow", value = "Rainbow?", description = "GTA 5 RP | Rainbow", emoji = '?')
]
)
]
)
interaction = await bot.wait_for("select_option")
# member = ctx.member()
# await member.add_roles(interaction.values[0])
await interaction.send(content=f"Роль {interaction.values[0]} была вадана!", embed=embed)

