当有人提到你时该怎么做? (discord.py)

时间:2020-06-06 14:11:27

标签: python-3.x discord.py

我当前正在尝试让某人ping通我的机器人,但当我得到消息中提到的列表时,所有元素类型均为。我正在尝试在事件on_message中使用if,这是我的代码:

@client.event
async def on_message(message):
    if discord.User.id(343113425158668289) in message.mentions:
        await message.add_reaction('?')
    await client.process_commands(message)

但是这给我一个错误:TypeError:'member_descriptor'对象不可调用 我想将自己的ID与列表中的ID进行比较,并在机器人检测到我的ping时添加响应。 有没有人有办法解决吗 ? (对不起,如果我的英语不好,那不是我的母语) 我正在使用python 3.7.1

1 个答案:

答案 0 :(得分:1)

@client.event
async def on_message(message):
    #For every @member in message
    for member in message.mentions:
    #look if the member ID is equal to your ID (343113425158668289)
        if 343113425158668289 == member.id:
            #If you were mentioned add this reaction
            await message.add_reaction('?')
    await client.process_commands(message)

会员ID是一个普通数字,因此它只是一个整数。 和message.mentions给您列出了提及的成员。 如果他们的Member.ID与您的成员相同,我们必须检查列表中的所有成员。

祝你愉快