属性错误:“str”对象没有属性“add_roles”

问题描述 投票:0回答:1

我正在制作一个 muter 机器人,当我使用它时,它会说:AttributeError:'str'对象没有属性'add_roles'

async def on_message(message):
    if message.content.startswith('l!mute '):
        role = message.guild.get_role(***role-id***)
        print(role) ***it shows role name***
        se = message.content
        mute = se.replace("l!mute ", "")
        user = mute
        channel = client.get_channel(message.channel.id)
        await channel.send(user+' ro behesh dadam rolee '+str(role), reference=message)
        guild = client.get_guild(***server-id***)
        await user.add_roles(role)

我尝试了我所知道的一切

python-3.x discord.py
1个回答
0
投票

您正在使用

user
直接将
str
设置为
message.content

假设命令用法为:

l!mute {user_mention}
,您可以通过 Message.mentions 属性获取消息的首次提及。

if not message.mentions: #  If no user is mentioned, send an error message
    return await message.reply("Mention a user to mute.")

user = message.mentions[0] #  Message.mentions returns a List

相关文档:discord.MessageMessage.mentions

© www.soinside.com 2019 - 2024. All rights reserved.