Как отправить сообщение в чат ембедом на дискорд боте
Вот есть у меня команда хелпа, у этой команды есть селект меню (менюшка в самой низу кмд) и она работает, но как выводить сообщения в чат с селект меню? Типо ты выбираешь категорию в селект меню и тебе будет писать что-то в чат, как это сделать, помогите пожалуйста, вот код:
#Основная команда ХЕЛП
@bot.command()
async def help(ctx, comname: str = None):
embed = discord.Embed(
color = 0xff9900,
title="Команды **LiteBot**",
description="Для более детальной информации о команде, просто напишите >help (команда)\n**<:clipboard:920714709932593182> Основное**\n`>help` - все команды бота\n`>info` - информация о боте\n`>addbot` - добавить бота\n**<:shield:920714733278077010> Модерация**\n`>clear` - очистка сообщений\n`>mute` - заглушить пользователя\n`>unmute` - размутить пользователя\n`>kick` - выгнать пользователя\n`>ban` - забанить пользователя\n`>niсk` - сменить ник пользователю\n**<:wrench:920715659481075734> Утилиты**\n`>avatar` - просмотр аватара\n`>say` - писать от имени бота\n`>embsay` - писать вебхуком\n**<:smile:920714719873105951> Развлечения**\n`>fox` - рандомные фото лисичек\n`>dog` - рандомные фото собачек\n`>cat` - рандомные фото кошек\n**<:gear:920714911049478204> Настройки**\n`>automode` - вкл/выкл автомодерацию на мат",
)
embed.set_thumbnail(url = bot.user.avatar_url)
embed.set_footer(text = 'halflite © 2021 Все права защищены')
embinf = discord.Embed(title='`Информация о команде >info`', description='**Описание:**\nИнформация о данном боте', color=0xff9900)
embinf.set_thumbnail(url = bot.user.avatar_url)
if comname is None:
await ctx.reply(embed=embed,
components = [
Select(
placeholder = 'Выберите категорию...',
options = [
SelectOption(label="Основноe", value="value1",),
SelectOption(label="Модерация", value="value2"),
SelectOption(label="Утилиты", value="value3"),
SelectOption(label = "Развлечения", value = "value4"),
SelectOption(label="Настройки", value="value5")
])])
else:
if comname == 'info':
await ctx.reply(embed=embinf)
elif comname == 'addbot':
embbod = discord.Embed(
title='`Информация о команде >addbot`',
description='**Описание:**\nКоманда для добавления бота на свой сервер',
color=0xff9900
)
await ctx.reply(embed=embbod)
elif comname == 'clear':
embcle = discord.Embed(
title='`Информация о команде >clear`',
description='**Описание:**\nКоманда для очистки сообщений в чате\n**Использование:**\n>clear (кол-во сообщений)',
color=0xff9900
)
embcle.set_footer(text='() - обязательный аргумент')
await ctx.reply(embed=embcle)
elif comname == 'mute':
embmut = discord.Embed(
title='`Информация о команде >mute`',
description='**Описание:**\nКоманда чтобы заглушить участника\n**Использование:**\n>mute (@участник) <причина>',
color=0xff9900
)
embmut.set_footer(text='() - обязательно, <> - необязательно')
await ctx.reply(embed=embmut)
elif comname == 'unmute':
embenm = discord.Embed(
title='`Информация о команде >unmute`',
description='**Описание:**\nКомнда чтобы снять ограничение чата с участника\n**Использование:**\n>unmute (@участник)',
color=0xff9900
)
embenm.set_footer(text='() - обязательно')
await ctx.reply(embed=embenm)
elif comname == 'kick':
embkik = discord.Embed(
title='`Информация о команде >kick`',
description='**Описание:**\nИзгнание пользователя с сервера\n**Использование:**\n>kick (@участник) <причина>'
)
emkik.set_footer(text='() - обязательно, <> - необязательно')
await ctx.reply(embed=embkik)
elif comname == 'ban':
embban = discord.Embed(
title='`Информация о команде >ban`',
description='**Описание:**\nКоманда для блокировки пользователя\n**Использование:**\n>ban (@участник) <причина>',
color=0xff9900
)
embban.set_footer(text='() - обязательно, <> - необязательно')
await ctx.reply(embed=embban)
elif comname == 'nick':
embnik = discord.Embed(
title='`Информация о команде >nick`',
description='**Описание:**\nКоманда для изменения ника пользователю\n**Использование:**\n>nick (@участник) <новый ник>',
color=0xff9900
)
embnik.set_footer(text='() - обязательно, <> - обязательно')
await ctx.reply(embed=embnik)
elif comname == 'avatar':
embava = discord.Embed(
title='`Информация о команде >avatar`',
description='**Описание:**\nКоманда для просмотра аватара пользователя\n**Использование:**\n>avatar (@участник)',
color=0xff9900
)
embava.set_footer(text='() - необязательно')
await ctx.reply(embed=embava)
elif comname == 'say':
embsay = discord.Embed(
title='`Информация о команде >say`',
description='**Описание:**\nКоманда для письма сообщений от имени бота\n**Использование:**\n>say (сообщение)',
color=0xff9900
)
embsay.set_footer(text='() - обязательно')
await ctx.reply(embed=embsay)
elif comname == 'embsay':
embemb = discord.Embed(
title='`Информация о команде >embsay`',
description='**Описание:**\nКоманда для для письма от имени бота, вебхуком\n**Использование:**\n>embsay (сообщение)',
color=0xff9900
)
embemb.set_footer(text='() - обязательно')
await ctx.reply(embed=embemb)
elif comname == 'automode':
embnun = discord.Embed(
title='`Информация о команде >automode`',
description='**Описание:**\nКоманда для включение и выключения автомодерации на мат\n**Использование:**\n>automode',
color=0xff9900
)
await ctx.reply(embed=embnun)
elif comname == 'fox':
embfox = discord.Embed(
title='`Информация о команде >fox`',
description='**Описание:**\nРандомные фото лисичек',
color=0xff9900
)
await ctx.reply (embed=embfox)
elif comname == 'dog':
embdog = discord.Embed(
title='`Информация о команде >dog`',
description='**Описание:**\nРандомные фото собачек',
color=0xff9900
)
await ctx.reply (embed=embdog)
elif comname == 'cat':
embcat = discord.Embed(
title='`Информация о команде >cat`',
description='**Описание:**\nРандомные фото котиков',
color=0xff9900
)
await ctx.reply (embed=embcat)
Если кто-то что-то не понял, могу обяснить в дискорде: halflite#5696
Ответы (1 шт):
Автор решения: Darity
→ Ссылка
Попробуйте так:
if comname is None:
await ctx.reply(embed=embed,
components = [
Select(
placeholder = 'Выберите категорию...',
options = [
SelectOption(label="Основноe", value="value1",),
SelectOption(label="Модерация", value="value2"),
SelectOption(label="Утилиты", value="value3"),
SelectOption(label = "Развлечения", value = "value4"),
SelectOption(label="Настройки", value="value5")
])])
while True:
helpevent = await bot.wait_for("select_option")
await helpevent.respond(type=6)
helpvalue = helpevent.values[0]
if helpvalue == "value1":
embed1 = discord.Embed(
title="Основное", description="Команды", color=0xff9900)
await ctx.send(embed=embed1)