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

discord.py中调用get获取角色提示未定义错误该如何解决

问题原因及修复方案

核心错误根因

你代码中调用的get()是discord.utils子模块下的工具函数,你没有预先导入该函数,因此会抛出「get未定义」的报错。你之前尝试的discord.get、client.roles.get都不是正确的调用方式:discord根模块下没有直接提供get方法,client对象也不存在roles属性,角色列表属于当前触发命令的服务器对象ctx.guild。

两种可行的修复方式

  • 方案1:导入get函数后继续使用原有逻辑
    在代码头部的导入区域新增一行导入语句:
    from discord.utils import get
    
    导入完成后原有role = get(ctx.guild.roles, name = 'punishment')代码即可正常运行。
  • 方案2:直接使用服务器角色列表自带的get方法,无需额外导入
    直接调用ctx.guild.roles的内置get方法查询对应名称的角色:
    role = ctx.guild.roles.get(name="punishment")
    

额外注意

你当前代码中@client.command()装饰器及后续的函数定义缩进层级错误,需要和顶部的client变量定义保持同级缩进,否则会触发语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:09:05