Discord.py - 如何检测用户是否提到/ping 机器人

2022-01-15 00:00:00 python python-3.x discord discord.py

问题描述

所以我只是想知道,如何在 discord.py 中创建一个事件,如果用户 ping 机器人,它会回复一条消息?

So I am just wondering, how can I create an event in discord.py where if a user pings the bot it will respond with a message?

我在任何地方都没有找到关于如何做到这一点的任何具体内容,如果有人能帮助我了解如何做到这一点,我将不胜感激.我很感激!

I have not found anything concrete anywhere on how to do this and I would appreciate it if someone could help get my feet wet on how to do this. I appreciate it!


解决方案

发现默认函数discord.User.提到_in 有效

I found that the default function discord.User.mentioned_in works

为了让它检查我们的机器人,我们在函数前面添加 client.user(这是我们的机器人),使其成为 client.user.提到的_in(message).参数 message 应该与您为 async def on_message(message) 行提供的参数相同

In order for it to check for our bot, we add client.user (which is our bot) in front of the function, making it client.user.mentioned_in(message). The argument message, should be the same argument that you gave for the async def on_message(message) line

例子:

@client.event
async def on_message(message):
    if client.user.mentioned_in(message):
        await message.channel.send('You mentioned me!')

我不知道为什么,但我还没有看到其他人使用这个功能.也许他们只是没有意识到这一点,而是在 message.content 中使用 client.user.id

I'm not sure why but I haven't seen any others use this function though. Maybe they just aren't aware of this, and instead use client.user.id in message.content

相关文章