Python 在自我属性中查找discord.py bot以分配角色的位置
我是Discord服务器的所有者,该服务器没有太多人,因此我希望他们自我介绍,以便我能够跟踪谁是谁。加入后,会员只能访问Python 在自我属性中查找discord.py bot以分配角色的位置,python,oop,discord,discord.py,Python,Oop,Discord,Discord.py,我是Discord服务器的所有者,该服务器没有太多人,因此我希望他们自我介绍,以便我能够跟踪谁是谁。加入后,会员只能访问#简介频道。当他们输入自己的名字时,他们被赋予成员角色 没有任何discord.py函数可以执行此操作,因此我必须将其分为两部分:首先,获取最新消息的作者,然后,为他们分配成员角色。第一部分一点也不难,但第二部分给我带来了一个错误 代码 类UtilBot(commands.Bot): def uu init uu(self,*,命令前缀,名称): commands.Bot.\u
#简介
频道。当他们输入自己的名字时,他们被赋予成员
角色
没有任何discord.py
函数可以执行此操作,因此我必须将其分为两部分:首先,获取最新消息的作者,然后,为他们分配成员
角色。第一部分一点也不难,但第二部分给我带来了一个错误
代码
类UtilBot(commands.Bot):
def uu init uu(self,*,命令前缀,名称):
commands.Bot.\uu init__(
self,command\u prefix=command\u prefix,self\u bot=False)
打开(r'.\docs\channels.csv')作为频道:
通道ID=list(csv.reader(通道,分隔符='\t'))
对于i,枚举中的项(通道ID):
通道ID[i]=[int(项目[0]),项目[1]]
self.channels=dict(通道ID)
self.channel_命令={
“介绍”:自我介绍,
“#开发构建”:self.introduction}#允许功能测试
self.name=名称
异步def on_就绪(自):
打印(f“Utils正在运行”)
_消息上的异步定义(self,message):
channel=self.channels[message.channel.id]
打印(频道)
尝试:
self.channel_命令[channel](消息)
除KeyError外:
通过
def介绍(自我介绍,信息):
成员=message.author
role=discord.utils.get(member.guild.roles,name=“member”)
self.add_角色(成员、角色)
def dev_构建(自我,消息):
打印(f'{message.author.name}({self.channels[message.channel.id]}))
打印(message.content)
错误
AttributeError: 'UtilBot' object has no attribute 'add_roles'
我在问如何在维护OOP框架的同时修复此错误,以及是否有其他方法可以完成相同的任务。如果我知道在哪里可以找到与bot相对应的self属性,我可以很容易地解决这个问题,但是当我查看self时,我找不到它。而不是self.add\u角色(member,role),尝试
成员。add\u角色(role)是的,这几乎是唯一的事情。在重新编写discord.py之前,我一直在寻找答案,所以很明显它不起作用。