Поэтому я пытаюсь создать команду для своего бота Discord, который является конструктором встраивания. Я хочу, чтобы пользователь команды мог ввести шестнадцатеричное значение для цвета вставки. Вот что я пробовал:
value = message.content embed=discord.Embed(title=’Hey’, description=»How are you?», color=value) await output.edit(content=None, embed=embed)
Однако когда я это делаю, я получаю сообщение об ошибке:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: Expected discord.Colour, int, or Embed.Empty but received str instead.
Как я могу это исправить? Благодарю.
Dom 22 Дек 2020 в 06:22
5 ответов
Лучший ответ
Я собираюсь продолжить и предположить, что ввод, который вы ожидаете, похож на #ffffff , и, пожалуйста, поправьте меня, если я ошибаюсь. Чтобы преобразовать это во что-то, что можно прочитать в Discord, мы можем использовать следующий метод. Я собираюсь предположить, что message — это объект сообщения, которым вы ждете ответа.
КАК СДЕЛАТЬ EMBED MESSAGE В DISCORD | Embed bot by sanich
sixteenIntegerHex = int(message.content.replace(«#», «»), 16) readableHex = int(hex(sixteenIntegerHex), 0) embed = discord.Embed( title = «Hey», description = «How are you?», color = readableHex )
Вы даже можете объединить два оператора целочисленного преобразования в один!
readableHex = int(hex(int(message.content.replace(«#», «»), 16)), 0)
StarbuckBarista 22 Дек 2020 в 04:12
questions = [«What should be the name of the embed?», «What should be the desc», «What is the colour of the embed?»] answers = [] def check(m): return m.author == ctx.author and m.channel == ctx.channel for i in questions: await ctx.send(i) try: msg = await client.wait_for(‘message’, timeout=15.0, check=check) except asyncio.TimeoutError: await ctx.send(‘You didn’t answer in time, please be quicker next time!’) return else: answers.append(msg.content) title = answers[1] desc = answers[2] colour = answers[3] embed = discord.Embed(title = f»», description = f»», color = colour) embed.set_footer(text = f»My embed») await channel.send(embed = embed)
Cohen 22 Дек 2020 в 03:38
Вам необходимо преобразовать пользовательский ввод в message.content в значение цвета RGB.
Например. для зеленого цвета то, что ожидает Embed , будет выглядеть так:
discord.Embed(title=»Hey», description=»How are you?», color=0x00ff00)
Таким образом, вы можете позволить пользователям напрямую передавать значения цвета:
color = int(message.content, 16) # content should look like this: «0x00ff00″ discord.Embed(title=»Hey», description=»How are you?», color=color)
Или сопоставьте названия цветов с соответствующими значениями:
color_name = message.content # content should look like this: «green» colors = discord.Embed(title=»Hey», description=»How are you?», color=colors[color_name])
LiBa01 22 Дек 2020 в 03:45
Это работает в вашей ситуации?
Вебхук Дискорд | Как создать вебхук? (Переехал в Интеграции) | Как сделать Embed с помощью Вебхука
Источник: question-it.com
Как сделать «генерацию» Embed в discord.py?
В своём дискорд боте я хотел сделать команду, которая бы выводила Embed с заданными значениями и мой код с самого начала был таким:
Но немного задумавшись, я понял что не смогу задавать значения больше одного слова. Помогите мне, пожалуйста.
Отслеживать
задан 30 мая 2021 в 19:38
31 1 1 бронзовый знак
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Насколько я понял, вам нужно, чтобы функция принимала в аргумент field_value не только одно слово, но и всю остальную часть сообщения.
Для этого перед аргументом в параметрах функции нужно указать * :
async def embed(ctx, title1, field_name, *, field_value):
Источник: ru.stackoverflow.com
Что такое embed?
У нас есть 24 ответов на вопрос Что такое embed? Скорее всего, этого будет достаточно, чтобы вы получили ответ на ваш вопрос.
Содержание
- Как вставить embed?
- Что такое Эмбеды?
- Как использовать тег embed?
- Что значит тег embed в HTML?
- Как сделать Эмбед?
- Что такое тег embed в HTML?
- Как работает тег object?
- Для чего мы используем тег frame >?
- Как упомянуть роль?
- Что такое embed? Ответы пользователей
- Что такое embed? Видео-ответы
Отвечает Наталья Ряпосова
: Вложение расширенных элементов **HTML-элемент **вставляет расширенный контент в выбранное место документа. Этот контент может быть представлен от внешнего приложения или другого источника интерактивного контента, такого как плагин для браузера, например.4 days ago
Как вставить embed?
В CKEditor нажать на кнопку Insert Embed Content. В появившимся окне переключиться на вкладку Attach external media. В поле External media URL or Embed Code вставить нужную ссылку или Embed code на нужный материал (например, You Tube URL)
Что такое Эмбеды?
Эмбеды — встраиваемые в пост элементы с внешних ресурсов: видео с YouTube, цитаты из Twitter, фотографии из Instagram и пр.
Как использовать тег embed?
Элемент используется для загрузки и отображения объектов (например, видеофайлов, флэш-роликов, некоторых звуковых файлов и т. д.), которые исходно браузер не понимает. Как правило, такие объекты требуют подключения к браузеру специального модуля, который называется плагин, или запуска вспомогательной программы.
Что значит тег embed в HTML?
: Вложение расширенных элементов HTML-элемент вставляет расширенный контент в выбранное место документа. Этот контент может быть представлен от внешнего приложения или другого источника интерактивного контента, такого как плагин для браузера, например.
Как сделать Эмбед?
Создаём (Генерируем) эмбедНажимаем на кнопку в поле ввода сообщения.Когда вы видите это, не бойтесь. Заполняйте всё как вам надо, сбоку появится превью эмбеда. Как и в Discord Bot Maker тут можно выбрать цвет, картинку, автора, заголовок. 2 шагКогда вы всё заполнили, можете нажимать «Send», и у вас отправится эмбед!
Что такое тег embed в HTML?
HTML-элемент вставляет расширенный контент в выбранное место документа. Этот контент может быть представлен от внешнего приложения или другого источника интерактивного контента, такого как плагин для браузера, например.
Как работает тег object?
Элемент сообщает браузеру, как загружать и отображать объекты, которые исходно браузер не понимает. Как правило, такие объекты требуют подключения к браузеру специального модуля, который называется плагин, или запуска вспомогательной программы.
Для чего мы используем тег frame >?
Тег определяет свойства отдельного фрейма, на которые делится окно браузера. Этот элемент должен располагаться в контейнере , который к тому же задаёт способ разметки страницы на отдельные области.
Как упомянуть роль?
Источник: querybase.ru