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

Discord.py实现GitHub仓库随机图片发送功能失效求助

问题排查与解决方案

我来帮你搞定这个/mila命令的问题,你的代码里有几个关键的语法和逻辑错误,导致随机图片功能没法正常工作:

错误点分析

  • random.choice()的调用方式错误:这个函数需要直接传入你要随机选择的列表(也就是Images),而不是把Discord.File作为关键字参数传给它。
  • 文件对象创建时机错误:你应该先从列表里随机选出一个文件名,再用这个文件名创建Discord.File对象,而不是反过来。
  • ctx.send()的参数传递错误:file是send()方法的关键字参数,你把它放到random.choice()里是完全不对的。

修正后的代码

import random
from discord import File  # 别忘了导入File类,如果还没导入的话

@bot.command()
async def mila(ctx):
    # 图片文件名列表
    images = ["photo_2022-09-29_16-56-28.jpg", "photo_2022-09-29_16-56-31.jpg", "photo_2022-09-29_16-56-33.jpg", "photo_2022-09-29_16-56-35.jpg", "photo_2022-09-29_16-56-37.jpg", "photo_2022-09-29_16-56-38.jpg", "photo_2022-09-29_16-56-41.jpg", "photo_2022-09-29_16-56-42.jpg", "photo_2022-09-29_16-56-45.jpg", "photo_2022-09-29_16-56-47.jpg"]
    # 第一步:随机选一个文件名
    selected_image = random.choice(images)
    # 第二步:用选中的文件名创建File对象
    image_file = File(selected_image)
    # 第三步:发送文件
    await ctx.send(file=image_file)

额外注意事项

  • 确保你的图片文件和机器人脚本在同一目录下,如果图片在子文件夹里,要把路径补全(比如"images/photo_xxxx.jpg")。
  • 确认你已经正确导入了discord.File类,不然代码会报错找不到这个类。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 16:18:12