Discord.py中if语句出现Indent error缩进报错问题求助
错误原因
IndentationError: expected an indented block属于Python基础语法错误,你提供的代码片段缺少else对应的if条件声明,或者if代码块内容不符合缩进要求。
修复方案
你当前贴出的第一行代码带缩进,应该是if判断满足后执行的逻辑,但是缺了最上层的if条件行。按你的业务场景,完整的正确写法参考如下:
# 补充if权限判断逻辑,注意if行末尾要有冒号 if ctx.author.guild_permissions.manage_guild or ctx.author == ctx.guild.owner: await ctx.send('Enter the channel name you want to be set as default welcome channel: ') else: await ctx.send('Only server moderators and owner can use this command')
如果if块暂时不需要写任何执行逻辑,可以用pass关键字占位,避免空代码块触发缩进错误:
if 你的判断条件: # 仅写注释没有可执行代码会触发报错,加pass占位即可 pass else: 其他逻辑
额外注意
Python对缩进要求严格,同一逻辑层级的代码缩进必须统一,建议全程使用4个空格作为缩进单位,不要混用空格和Tab,否则也会触发同类缩进错误。
内容的提问来源于stack exchange,提问作者Zook780
相关产品推荐
相关产品推荐

