如何让Discord Bot发送带URL自动识别及链接预览的消息?
解决Discord Bot发送消息不显示链接预览的问题
针对你遇到的Bot发送带URL的消息无法显示链接预览的问题,可按以下步骤排查解决:
检查URL格式:如果你的
fill_references函数在处理URL时自动给链接加上了<>(比如<https://example.com>),Discord只会识别为纯文本链接,不会生成预览。需要修改该函数,确保URL以原始形式(如https://example.com)存在于消息内容中。显式允许嵌入预览:在发送消息时,显式指定
disable_embeds=False参数(虽然默认值是False,但可以排除参数被意外覆盖的情况):await ctx.send(msg, disable_embeds=False)修正消息换行格式:你的代码中多行f字符串的写法存在语法错误,Python不允许用双引号直接换行定义字符串,需调整为正确的换行方式,避免消息解析异常:
# 使用\n换行 msg = f"**{username}** *({timestamp})*\n{text}" # 或使用三引号 msg = f"""**{username}** *({timestamp})* {text}"""手动嵌入消息(备选方案):如果上述方法都无效,可以通过创建Embed对象来发送消息,Discord会自动为Embed中的URL生成预览:
from discord import Embed embed = Embed(description=f"**{username}** *({timestamp})*\n{text}") await ctx.send(embed=embed)
内容的提问来源于stack exchange,提问作者陽品駒
相关产品推荐
相关产品推荐

