Есть ли способ заставить моего бота вставлять изображения, если пользователь вводит URL-адрес изображения или прикрепленное изображение в описании? - PullRequest
0 голосов
/ 14 июля 2020

Я сделал команду вставки, где мой бот будет спрашивать, какое название вставки, описание вставки и какой канал пользователь хочет, чтобы вставка была отправлена. Он работает хорошо, но всякий раз, когда кто-то вводит URL-ссылку изображения в описании, мой бот просто показывает ссылку, а не изображение.

Я пробовал использовать embed.set_image он работал

но всякий раз, когда пользователь отправляет описание ссылки none, я получаю сообщение об ошибке

Invalid Form Body
In embed.image.url: Not a well formed URL.

А также, когда пользователь ответил на прикрепленное изображение, бот отправит вставку, но полностью оставит описание пусто.

Код, который я использовал для описания.

desc= []
await ctx.channel.send('Description that you want to be embed')
                msg = await self.client.wait_for('message', check=check(ctx.author))
                desc.append(msg.content)

desc1 = ''.join(desc)
embed = discord.Embed(color=0xD5A6BD, description=str(desc1),
                                  timestamp=ctx.message.created_at)
   await submit_chan.send(embed=embed)

1 Ответ

0 голосов
/ 14 июля 2020

Похоже, ваша ошибка указывает на недопустимый URL. Вот способ получить URL-адрес изображения из ввода / вложения.

@commands.command()
async def em(self, ctx, url=None):
  if not url:
    url = ctx.message.attachments[0].url
  print(url)
  await ctx.send(embed=Embed().set_image(url=url))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...