python - Discord.py 给用户角色 - “用户”对象没有属性“公会”
问题描述
所以我正在尝试编写一个机器人,它为用户提供一个角色,以便他们可以看到他们的禁令信息。除了实际赋予用户所说的角色之外,一切都在工作。我在这些论坛、reddit 和文档上发现了相互矛盾的建议——但似乎没有一个解决方案有效。
这是我的代码:
role = await message.guild.create_role(name=ban_str)
category = discord.utils.get(message.guild.categories, name="Tickets")
overwrites = {
message.guild.me: discord.PermissionOverwrite(read_messages=True),
message.guild.default_role: discord.PermissionOverwrite(read_messages=False),
role: discord.PermissionOverwrite(read_messages=True, send_messages=False)
}
channel = await message.guild.create_text_channel(banstr, category=category, overwrites=overwrites)
user = client.get_user(int(user_id))
await discord.Member.add_roles(user, role, reason="[Ban Ticket] Added user to ticket " + banstr)
我得到了错误:
AttributeError: 'User' object has no attribute 'guild'
我试图使“用户”成为成员对象,替换user = client.get_user(int(user_id))
为user = message.guild.get_member(int(user_id))
,但随后出现错误:
AttributeError: 'NoneType' object has no attribute '_state'
如果有人可以在这里看到我做错的任何事情,我们将不胜感激!
解决方案
利用message.guild.get_member()
User
没有设置公会,因为用户只是您的 id 的人?你的头像是什么等等。Member
是有公会附属的东西。
推荐阅读
- django-rest-framework - 是否可以将搜索过滤器与查找表达式不是“精确”的 FillterSet 过滤器结合使用?
- r - 如何折叠多个列并从折叠的不同级别/值生成新变量?
- python-3.x - 如何获取实际数据而不是对象引用?
- java - 无法运行 maven javafx 应用程序和 pom 文件中的一些错误
- python-3.x - 删除更改的停用词
- python - .condarc 文件经常被某些东西覆盖
- c++ - 什么是间接 goto 语句?
- reactjs - 使用 Geofirestore 查询 Cloud Firestore 地理点时出错
- unity3d - 如何在 Unity 中为生产代码部署 pytorch 神经网络
- flutter - 如何在同一 GestureDetector 中使用垂直和水平拖动和缩放?