python - discord.py 赋予角色问题
问题描述
我正计划发出静音命令,但我有一个大问题,我不知道该怎么做。代码:
@client.command()
@commands.has_role("Mod")
async def mute(ctx, user : discord.Member):
role = 730016083871793163
#h = 3600 #seconds
#m = 60 #seconds
await user.add_roles(role)
错误:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'int' object has no attribute 'id'
解决方案
您收到此错误的原因是您提供的是int
对象而不是role
对象。您的int
对象没有属性id
,但是role
有。
要获取角色对象,您可以使用discord.utils.get
.
roleobject = discord.utils.get(ctx.message.guild.roles, id=role)
await user.add_roles(roleobject)
推荐阅读
- python-3.x - 如何根据 Django Python 中的一个字段值设置另一个字段的值
- postgresql - 更改postgres用户的密码导致imidiate提示错误密码而不提供密码
- apache - 如何从apache中删除过期标头
- python - Python Selenium Web 驱动程序:send_keys 在无头模式下不起作用
- git - Git 将现有仓库推送到新远程:远程主机关闭与 github.com 的连接
- java - 如何修改 MongoDB 文档中数组中包含的对象的值
- c - 我的 For 循环计数器没有按预期增加
- angular - 如果使用 TypeScript 的数组中已经存在键值,如何通过 onclick 增加键值?
- laravel - 自定义指令以 `syntax error, unexpected '<' 结尾
- html - 为什么 Angular 8 工具提示无法正确显示