You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Discord机器人以横向排版转发消息附件?

解决Discord机器人转发图片横向并排展示的问题

问题原因

  • 使用embed.set_image()循环设置图片时,每次调用都会覆盖Embed的主图片,最终只会显示最后一张图片。
  • 直接发送附件URL时,Discord会将每个URL视为独立的链接预览,因此会纵向排列且附带链接图标,和原帖直接上传附件的展示逻辑完全不同。

解决方案

要实现和原帖一致的横向并排效果,机器人需要直接转发附件文件,而非发送URL或用Embed单图展示。Discord对直接上传的多文件会自动按数量调整布局(2张横向并排,3-4张也会尽量并排展示)。

修改后的代码如下:

# 准备要转发的文件列表
files = []
for attachment in message.attachments:
    # 读取附件内容,保留原文件名
    file_content = await attachment.read()
    files.append(discord.File(fp=file_content, filename=attachment.filename))

# 一次性发送所有文件,Discord自动处理横向排列
await toChannel.send(files=files)

补充说明

  • 如果需要同时转发原消息的文本内容,可以在send()方法中添加content=message.content参数。
  • 这种方式完全复刻原帖的附件上传逻辑,不会出现额外图标,展示效果和原帖完全一致。

内容的提问来源于stack exchange,提问作者Askerman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 22:39:58