首页 > 解决方案 > My Bot 将角色授予消息中提到的用户

问题描述

好的,所以当我的服务器中的另一个机器人发送一条包含用户提及的消息时,我的机器人应该给那个提到的用户一个角色。我不知道该怎么做,但我尝试用事件做某事并给出错误。请帮助(我是python的菜鸟)

我的代码

@client.event
async def on_message(msg):
    Role = discord.utils.get(msg.guild.roles, name='level 2') 
    if msg.content.find("advanced to level 2")!=-1:
        await msg.user.mention.add_roles(Role)

标签: python-3.xdiscorddiscord.py

解决方案


用于msg.mentions[0]获取提到的用户并检查作者是否是机器人

以下是修改后的代码:

@client.event
async def on_message(msg):
    Role = discord.utils.get(msg.guild.roles, name='level 2') 
    if msg.content.find("advanced to level 2")!=-1 and msg.author.bot:
        await msg.mentions[0].add_roles(Role)

推荐阅读