Discord.py 角色权限
Discord.py Permissions on roles
为什么
ctx.guild.default_role.permissions.change_nickname()
输出这个:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: 'bool' object is not callable
文档中说:
@flag_value
def change_nickname(self):
""":class:`bool`: Returns ``True`` if a user can change their nickname in the guild."""
return 1 << 26
change_nickname
不是一个方法,所以你不能用括号调用它。你只需写 ctx.guild.default_role.permissions.change_nickname
当您将命令发送到频道时,您需要它是一个字符串并且更改昵称也不是一种方法。
为此只需使用
perms = str(ctx.guild.defualt_role.permissions.change_nickname)
ctx.send(烫发)
尝试使用
ctx.guild.default_role.permissions.change_nickname
所以想切换默认角色的这个设置。 @比利德夫
根据命令编辑角色权限
@client.command()
async def toggle(ctx):
perms = discord.Permissions()
perms.update(read_messages = True, read_message_history = True, send_messages = False, change_nickname=True)
#add more permissions
for role in guild.roles:
if role.name == "role_name":
await role.edit(reason = None, colour = discord.Colour.orange(), permissions=perms)
这会将名为 role_name
的角色的权限编辑为 也 'can change nickname' :)
为什么
ctx.guild.default_role.permissions.change_nickname()
输出这个:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: 'bool' object is not callable
文档中说:
@flag_value
def change_nickname(self):
""":class:`bool`: Returns ``True`` if a user can change their nickname in the guild."""
return 1 << 26
change_nickname
不是一个方法,所以你不能用括号调用它。你只需写 ctx.guild.default_role.permissions.change_nickname
当您将命令发送到频道时,您需要它是一个字符串并且更改昵称也不是一种方法。
为此只需使用 perms = str(ctx.guild.defualt_role.permissions.change_nickname)
ctx.send(烫发)
尝试使用
ctx.guild.default_role.permissions.change_nickname
所以想切换默认角色的这个设置。 @比利德夫
根据命令编辑角色权限
@client.command()
async def toggle(ctx):
perms = discord.Permissions()
perms.update(read_messages = True, read_message_history = True, send_messages = False, change_nickname=True)
#add more permissions
for role in guild.roles:
if role.name == "role_name":
await role.edit(reason = None, colour = discord.Colour.orange(), permissions=perms)
这会将名为 role_name
的角色的权限编辑为 也 'can change nickname' :)