所以我想让机器人在说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}")
答案 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}")
参考: