如何在“ on_message”中提及某人

时间:2020-10-04 12:53:32

标签: python discord discord.py message discord.py-rewrite

所以我想让机器人在说n字的作者中提及作者。我尝试使用{message.mention},但显然不存在,所以我该如何使用on_message事件提及某人? 这是代码:

@commands.Cog.listener()
async def on_message(self, message):
  if "ni**a" in message.content:
    await message.channel.send(f"<:sniper:711509974588719216> R6 BRUH {message.author}")
  if 'ni**er' in message.content:
    await message.channel.send(f"<:sniper:711509974588719216> R6 BRUH {message.author}")
  if 'Ni**a' in message.content:
    await message.channel.send(f"<:sniper:711509974588719216> R6 BRUH {message.author}")
  if 'Ni**er' in message.content:
    await message.channel.send(f"<:sniper:711509974588719216> R6 BRUH {message.author}")

2 个答案:

答案 0 :(得分:0)

如果您想提及邮件的作者,则可以使用message.author.mention。另外,如果语句不是4,则1足够了。您可以执行以下操作:

@commands.Cog.listener()
async def on_message(self, message):
  content = message.content.lower()
  if "ni**a" in content or "ni**er" in content:
    await message.channel.send(f"<:sniper:711509974588719216> R6 BRUH {message.author.mention}")

答案 1 :(得分:0)

成员对象

要提及某人,您需要将member object与该人相关联。

成员对象包含一个属性“ mention”,该属性可用于检索用于提及该成员的字符串。


那么如何应用呢?

由于message.author是成员对象。我们可以使用message.author.mention来获取提及该成员的字符串。产生以下代码:

@commands.Cog.listener()
async def on_message(self, message):
  if "ni**a" in message.content:
    await message.channel.send(f"<:sniper:711509974588719216> R6 BRUH {message.author.mention}")
  if 'ni**er' in message.content:
    await message.channel.send(f"<:sniper:711509974588719216> R6 BRUH {message.author.mention}")
  if 'Ni**a' in message.content:
    await message.channel.send(f"<:sniper:711509974588719216> R6 BRUH {message.author.mention}")
  if 'Ni**er' in message.content:
    await message.channel.send(f"<:sniper:711509974588719216> R6 BRUH {message.author.mention}")

简化

就像之前有人提到的那样,我们可以将您的代码简化为:

@commands.Cog.listener()
async def on_message(self, message):
  content = message.content.lower()
  if "ni**a" in content or "ni**er" in content:
    await message.channel.send(f"<:sniper:711509974588719216> R6 BRUH {message.author.mention}")

参考:

Member object

Member.mention

Message object

Message.content