Discord ping 与纯文本,以及如何使用我的机器人响应 ping

时间:2021-03-18 19:29:44

标签: python discord discord.py

我正在使用 discord.py 创建一个 discord bot,它会在某些用户或角色被 ping 时做出响应,但我遇到了一个问题:

在我的代码中,我有以下内容:if message.content == "@league": await message.channel.send("???")

当没有人担任联赛角色时,文本不会突出显示,并且机器人功能正常。

bot works normally when no one has league role

但是,当我给自己分配角色时,文本显示为突出显示,并且机器人不起作用。

bot doesn't work as intended when users have league role

有没有办法使用discord.py检查ping?预先感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您可以做的是获取角色 ID,然后当任何人在消息中拥有角色 ID 时,它就会做出响应。 Ping 角色算作说出 ID。这也适用于用户 ID,因此如果这实际上是您正在 ping 的用户,您也可以交换使用用户 ID。这是一个例子。

@client.listen()
async def on_message(role):
    # add your id instead of the one provided.
    if "<@766730658235154439>" in message.lower.content():
        await ctx.send("???")
        await client.process_commands(role)

应该可以,如果有任何问题,请评论。