Webhook 状态代码 400:“embeds”:[“长度必须为 10 或更少。”]

Posted

技术标签:

【中文标题】Webhook 状态代码 400:“embeds”:[“长度必须为 10 或更少。”]【英文标题】:Webhook status code 400: "embeds": ["Must be 10 or fewer in length."]Webhook 状态代码 400:“embeds”:[“长度必须为 10 或更少。”] 【发布时间】:2021-08-25 14:56:12 【问题描述】:

我正在开发一个每秒向 discord 频道发送消息的机器人,但是当我运行程序并且只发送 10 条消息并且仅打印 [1/1] Webhook 状态代码 400: "embeds ": ["长度必须为 10 或更少。"]。 我不知道为什么会发生这种情况,我正在使用 discord_webhook 库和 python 来执行此操作。这是我的代码

async def __scrape_api(session, pid):
    async with session.get(API_URL + pid) as response:
        data = await response.json()
        print(f"scrape data")
        if not __search_product(pid):
            name = data["name"]
            image_url = data['skus'][0]['image']
            for size in data['skus']:
                if size['available']:
                    print("sent")
                    message = DiscordEmbed(title=f'name', url=f'PRODUCT_URL_0size["sku"]PRODUCT_URL_1',
                                           description=f'talla: size["dimensions"]["Tallas Calzado"]\nPrecio: size["bestPriceFormated"]')
                    message.set_thumbnail(url=image_url)
                    message.set_timestamp()
                    webhook.add_embed(message)
                    response = webhook.execute()
                    time.sleep(1)
            # save to database
            __insert_new_product(pid, name, image_url, data['available'])

【问题讨论】:

【参考方案1】:

在深入了解其代码几分钟后,我找到了解决方案。基本上,您发送的每个嵌入都保存在 webhook 对象中,一旦您使用嵌入发出 10 个请求,它就会给您该错误。您所要做的就是:

webhook.execute(remove_embeds=True)

【讨论】:

以上是关于Webhook 状态代码 400:“embeds”:[“长度必须为 10 或更少。”]的主要内容,如果未能解决你的问题,请参考以下文章

Indy Post 到 discord webhook 给出了错误的请求 400

我不知道为啥我在发送不和谐的 webhook 时收到 400 bad request 错误。一切似乎都很好,但我对此很陌生

Dialogflow - Firestore - Webhook 调用失败。错误:UNAVAILABLE,状态:URL_UNREACHABLE,原因:UNREACHABLE_5xx,HTTP 状态代码

SonarQube 不会向 Discord webhook 发送通知

发布到 webhook?

Magento Webhook 订单状态更新