机器人提及 Discord.py
Bot Mentions Discord.py
if client.user.mentioned_in(message):
await ctx.send("Hi!")
所以我希望我的机器人能够回应任何@提及它的人。它确实可以正常工作,但唯一的问题是它会响应@everyone 和@here ping。这可能很简单,我想太多了,但我只想知道是否有任何方法可以让机器人响应它实际提到的消息,而不是@everyone 或@here pings?
检查消息内容中是否有bot的用户id。请尝试以下操作:
if str(client.user.id) in message.content:
await ctx.send("Hi!")
嗯,试试这个
@client.event
async def on_message(message):
if f"<@!{client.user.id}>" in message.content:
await ctx.send("Hi!")
您可以使用
@client.event
async def on_message(message):
然后检测消息是否提到了机器人:
if client.user.mentioned_in(message):
await message.channel.send("Hi!")
文档:https://docs.pycord.dev/en/master/api.html?highlight=mentioned#discord.ClientUser.mentioned_in
if client.user.mentioned_in(message):
await ctx.send("Hi!")
所以我希望我的机器人能够回应任何@提及它的人。它确实可以正常工作,但唯一的问题是它会响应@everyone 和@here ping。这可能很简单,我想太多了,但我只想知道是否有任何方法可以让机器人响应它实际提到的消息,而不是@everyone 或@here pings?
检查消息内容中是否有bot的用户id。请尝试以下操作:
if str(client.user.id) in message.content:
await ctx.send("Hi!")
嗯,试试这个
@client.event
async def on_message(message):
if f"<@!{client.user.id}>" in message.content:
await ctx.send("Hi!")
您可以使用
@client.event
async def on_message(message):
然后检测消息是否提到了机器人:
if client.user.mentioned_in(message):
await message.channel.send("Hi!")
文档:https://docs.pycord.dev/en/master/api.html?highlight=mentioned#discord.ClientUser.mentioned_in