python - Discord.py - DM 上的 add_roles
问题描述
本质上,我试图构建一个机器人,当用户将具有特定关键字的 DM 作为 DM 发送给机器人时,该机器人赋予用户特定角色。关键字的东西和一切都运行良好。服务器解析正确,但我认为我在获取角色或添加角色时在某些时候犯了错误。这是我的代码中用于角色的特定部分:
server = client.get_guild(<my server id here>)
role = discord.utils.get(server.roles, name="Member")
await user.add_roles(ctx.message.author, role)
解决方案
DM 中的用户没有角色,公会中的成员有角色,因此您需要从该服务器的用户 ID 获取成员。
此外 add_roles 方法只接受角色而不是用户/成员对象
server = client.get_guild(<your server id here>)
role = discord.utils.get(server.roles, name="Member")
member = server.get_member(user.id)
await member.add_roles(role)
推荐阅读
- python - 算法计算 2^n 的理论与实际时间复杂度
- c# - 没有构造函数的本地化依赖注入
- reactjs - 如何使用 React 测试库通过包含 html 标签的文本字符串进行查询?
- amazon-web-services - 每当将 0 kb 文件上传到 s3 时,是否可以通过 SNS 或 SQS 发送电子邮件通知?
- java - 将 Duplicate Key 的所有值存储在 Map 中
- javascript - Ionic show numeric keyboard in ion-searchbar but when a value is selected show name alongside number
- javascript - 如何将对象数组文件访问到反应组件中?
- angular - 在 angular6 中更新一个 formControl 应该更新 Other ,反之亦然
- pyspark - PySpark:合并数据帧,其中一个值(来自第一个数据帧)在另外两个(来自第二个数据帧)之间
- c# - 有一些延迟,例如键盘到应用程序或要监视的应用程序。我怎样才能纠正这个错误和滞后?