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

Python Discord Bot报错:'tuple'对象无'add_field'属性求助

问题排查与解决

错误根源

你在创建discord.Embed对象的代码行末尾多写了一个逗号:

embed=discord.Embed(title=f"**Статистика пользователя - {ctx.author.name}**"),

这个逗号会让embed变量变成单元素元组,而非discord.Embed类的实例,元组没有add_field方法,因此触发AttributeError。

修复后的代码

同时注意,原代码用f-string拼接SQL存在SQL注入风险,建议改用参数化查询优化安全性:

@bot.command(name='stats')
async def stats(ctx):
    # 参数化查询避免SQL注入
    cursor.execute('SELECT balance FROM users WHERE id = ?', (ctx.author.id,))
    resultbalance = cursor.fetchone()
    
    # 移除末尾逗号,正确创建Embed对象
    embed = discord.Embed(title=f"**Статистика пользователя - {ctx.author.name}**")
    embed.add_field(name='**Баланс:**', value=resultbalance[0])
    
    # 发送生成的嵌入消息到频道
    await ctx.send(embed=embed)

关键修正点

  • 移除embed=discord.Embed(...)行末尾的逗号,确保embed是合法的Embed实例
  • 替换SQL拼接方式为参数化查询,杜绝SQL注入漏洞
  • 补充await ctx.send(embed=embed)语句,完成消息发送流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:22:04