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

Nextcord按钮机器人缩进错误:制表符与空格混用问题求助

修复缩进错误:制表符与空格混用问题

报错信息翻译

文件main.py第27行,代码行hi = client.get_user(id)出现缩进错误:制表符与空格缩进使用不一致

问题原因

Python对缩进语法要求严格,同一代码块内必须统一使用空格或制表符,不能混合两种缩进方式。你的代码中await hi.send("hello")这行的缩进级别与上一行不一致,且混用了制表符和空格,触发了缩进错误。

解决方案

  1. 统一缩进风格:全程使用4个空格作为缩进(Python官方推荐规范),彻底禁用制表符缩进。
  2. 修正错误缩进:调整await代码行的缩进,使其与上一行保持相同级别。
  3. 修复未定义变量:代码中的id是未定义变量,需替换为实际用户ID,或从交互对象中直接获取目标用户。

修正后的代码

@bot.command(name='support')
async def support(ctx):
    hi = Button(label="click me", style=ButtonStyle.blurple)
    subscribe = Button(label="subscribe", url="https://www.youtube.com/channel?sub_confirmation=1")

    async def hi_callback(interaction):
        # 替换为目标用户的实际ID,或用interaction.user获取触发按钮的用户
        target_user = client.get_user(123456789)
        await target_user.send("hello")

    hi.callback = hi_callback

    myview = View(timeout=180)
    myview.add_item(hi)
    myview.add_item(subscribe)
    
    await ctx.send("hi", view=myview)

额外提示

  • 如果需要给点击按钮的用户发消息,可直接替换为await interaction.user.send("hello"),无需手动指定ID。
  • 建议在编辑器中开启「显示空白字符」功能,方便快速排查缩进混用问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 13:36:29