簡體   English   中英

使用@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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM