我正在制作一个 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)
我尝试了我所知道的一切
您正在使用
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