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

repl.it运行Discord bot出现Positional arguments错误如何修复

错误根因

你的format方法传入参数数量和字符串占位符数量不匹配:

  • 字符串模板'https://antmap.coc.tools/images/{0}/{0}.{1}png'里声明了{0}、{1}两个位置占位符,要求传入2个参数
  • 你实际只给format传入了'/'.join(args).capitalize()这1个参数,因此索引为1的占位符找不到对应值,触发IndexError。

修复方案

根据你的实际业务需求选择对应修复方式:

方案1:仅需1个参数生成链接

如果你要生成的链接格式为https://antmap.coc.tools/images/[参数]/[参数].png,说明你多写了无效的{1}占位符,直接修改模板即可:

# 替换你原来的字符串模板行
'https://antmap.coc.tools/images/{0}/{0}.png'.format('/'.join(args).capitalize())

方案2:确实需要2个参数生成链接

如果你要生成的链接格式为https://antmap.coc.tools/images/[参数1]/[参数1].[参数2]png,你需要补充传入第二个参数,同时增加参数合法性校验,避免用户输入参数不足:

# 先做参数校验
if len(args) < 2:
    await ctx.send("参数错误,正确用法:!acz maps [地图名称] [资源后缀]")
    return
# 正常生成链接
map_name = '/'.join(args[:-1]).capitalize()
res_suffix = args[-1]
img_url = 'https://antmap.coc.tools/images/{0}/{0}.{1}png'.format(map_name, res_suffix)

注意:如果你的资源后缀和png之间需要加.,可以把模板修改为'https://antmap.coc.tools/images/{0}/{0}.{1}.png',避免生成xxxjpgpng这类错误格式的链接。


内容的提问来源于stack exchange,提问作者Jakub Šidlík

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:27:00