使用@client.event on_message (Discord.py)获取权限

Get permissions with @client.event on_message (Discord.py)

我想看看message.author是否有Manage Server修改前缀的权限。我想使用 @client.event 而不是 @bot.command 或其他。请告诉我怎么做,谢谢!

@client.event
async def on_message(message):
  if message.content.startswith(f'{prefix}prefix'):
    message.channel.guild.author.guild_permissions
    requestList = message.content.split()
    if len(requestList) == 2:
      prefixData[guildID] = requestList[1] #'str' object does not support item assignment
      await message.channel.send(message.author.mention + "\n" + f"The new prefix is {requestList[1]}")
    else:
      await message.channel.send(message.author.mention + "\n" + "ERROR")

guild_permissionsMember 的一个属性,而且 prefixData 似乎是一个字符串而不是字典

修改后的代码如下:

@client.event
async def on_message(m):
    if not m.guild: return # DM Message
    if m.author.guild_permissions.manage_guild and m.content.startswith(f'{prefix}prefix'):
        # change prefix code