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

Python开发discord机器人时如何重载网页获取不同图片

问题根因

代码中图片地址写死为固定值https://thispersondoesnotexist.com/image,Discord加载嵌入内容时会对完全一致的资源URL做持久化缓存,后续所有相同URL的请求都会直接返回已缓存的第一张图,不会重新向源站请求新生成的图片资源。

修复方法

不需要实现复杂的网页重载逻辑,只需要在每次构造图片URL时拼接一个动态变化的无意义查询参数,让每次请求的URL唯一,即可强制Discord绕过缓存,从源站拉取新的AI生成人像。

修复后代码示例

import time
import discord
from discord.ext import commands

# 此处保留你项目中原本的bot初始化配置即可
client = commands.Bot(command_prefix="!", intents=discord.Intents.default())

@client.command()
async def tpdne(ctx):
    # 拼接当前时间戳作为防缓存参数,保证每次请求的URL唯一
    unique_img_url = f"https://thispersondoesnotexist.com/image?nocache={int(time.time())}"
    embed = discord.Embed(colour=discord.Colour.orange(), timestamp=ctx.message.created_at)
    embed.set_image(url=unique_img_url)
    await ctx.send(embed=embed)

注意事项

  • 目标图片源站会自动忽略不识别的查询参数,拼接额外参数不会导致请求失败,每次请求都会返回新生成的虚构人像图。
  • 防缓存参数的取值只要保证每次指令调用时唯一即可,优先使用时间戳作为参数值,相比随机数几乎不会出现重复值,稳定性更高,禁止使用固定值作为参数,否则依然会命中缓存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 00:12:53