Как переслать сообщение webhook на другой сервер?

#discord #discord.py

Вопрос:

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

разногласия.ошибки.Исключение HttpException: 400 Неверный запрос (код ошибки: 50006): Не удается отправить пустое сообщение

вот мой код

 @client.event
async def on_message(message):
    
    if message.webhook_id:
        msg = message.content
        channel = client.get_channel(760182149839716423)
        await channel.send(msg)
 

Ответ №1:

Встраивание можно найти в message.embeds , которое содержит список всех встраиваний, прикрепленных к этому сообщению. message.content это фактический текст из сообщения, который в случае сообщения только для встраивания ничего не значит. Это означает, что вы пытаетесь отправить пустую строку ( "" ), что вы не можете сделать.

 # Check if this message is a webhook AND has embeds
if message.webhook_id and message.embeds:
    embed = message.embeds[0]
    channel = client.get_channel(760182149839716423)
    await channel.send(embed=embed)
 

embed = message.embeds[0] предполагается, что это первое вложение в списке, но в большинстве сообщений обычно есть только одно, так что это должно быть нормально.