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

discord.py编写insult命令出现JSONDecodeError错误的解决方法

错误原因
  • 请求URL参数存在多余的HTML转义字符&,导致接口无法识别type=json的返回格式要求,实际返回的是HTML页面内容而非JSON数据,触发JSON解析失败
  • 消息发送方法参数使用错误,你要输出的是文本内容,不需要加url=参数修饰
修复方案

直接使用下方修正后的代码即可,额外增加了异常捕获逻辑,避免接口不稳定时命令直接崩溃:

@client.command(pass_context=True)
async def insult(ctx):
    try:
        async with aiohttp.ClientSession() as session:
            # 修正URL参数拼接符,去掉多余的HTML转义内容
            request = await session.get('https://evilinsult.com/generate_insult.php?lang=en&type=json')
            insultjson = await request.json()
        # 修正发送参数,直接传递要输出的文本内容
        await ctx.send(insultjson['insult'])
    except:
        await ctx.send("语句生成失败,请稍后重试")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:09:04