【发布时间】:2022-11-27 09:26:25
【问题描述】:
我有一个命令将用户的所有当前角色添加到数据库 (MongoDB)。
编码:
def add_roles_to_db(self):
check = cursor.find_one({"_id": self.ctx.author.id})
if check is None:
cursor.insert_one({"_id": self.ctx.author.id, "roles": [str(r) for r in self.ctx.author.roles[1:]]})
else:
cursor.update_one({"_id": self.ctx.author.id}, {"$set": {"roles": [str(r) for r in self.ctx.author.roles[1:]]}})
获取角色的代码:
def get_roles_from_db(self):
return cursor.find_one({"_id": self.ctx.author.id})["roles"]
当我从数据库中获取角色时,我得到了一个列表,我尝试的所有操作都导致了错误。错误:“AttributeError:‘str’对象没有属性‘id’”
if len(roles) != 0:
await author.add_roles(*roles)
我看到了另一篇帖子,其中有人通过列表添加了角色,但这没有用
【问题讨论】:
-
你遇到了什么错误?您如何从数据库中获取角色?
-
@moinierer3000 我编辑了带有错误的帖子以及我如何获得角色
标签: discord.py pycord