gpt4 book ai didi

python - Discord.py 赋予用户角色 - 'User' 对象没有属性 'guild'

转载 作者:行者123 更新时间:2023-12-04 17:21:22 24 4
gpt4 key购买 nike

所以我正在尝试编写一个机器人,为用户提供一个角色,以便他们可以看到他们的禁令信息。一切正常,除了实际赋予用户上述角色。我在这些论坛、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 是一个公会。

关于python - Discord.py 赋予用户角色 - 'User' 对象没有属性 'guild',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66016010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com