基本上,如果您说了一些不是脏话的内容,但随后将消息编辑为脏话,机器人将不会检测到它。我该如何解决?这是我的代码:
@client.event
async def on_message(message):
if message.author.bot:
return
for badword in file:
if badword in message.content.lower():
await message.delete()
warnMessage = f"Hey {message.author.mention}! Don't say that!"
await message.channel.send(warnMessage, delete_after=5.0)
print(f"{message.author.name} tried saying: {badword}")
channel = client.get_channel(836232733126426666)
embed = discord.Embed(title=f"Someone tried to swear!", colour=0x2D2D2D)
embed.add_field(name="Person who tried to swear:", value=f"{message.author.name}", inline=False)
embed.add_field(name="What they tried to say:", value=f"{badword}", inline=False)
embed.add_field(name="Channel they tried to swear in:", value=f"<#{message.channel.id}>", inline=False)
await channel.send(embed=embed)
return
await client.process_commands(message)
if message.content.startswith('Jason derulo'):
await message.channel.send('Wiggle wiggle wiggle')
if message.content.startswith('fast'):
await message.channel.send('She a runner she a track star')
await client.process_commands(message)
您可以使用on_message_edit
事件并使用与您在on_message
事件(只需记住使用after
arg 而不是message
)
@client.event
async def on_message_edit(before, after):
for badword in file:
if badword in after.content.lower():
await after.delete()
warnMessage = f"Hey {after.author.mention}! Don't say that!"
await after.channel.send(warnMessage, delete_after=5.0)
print(f"{message.author.name} tried saying: {badword}")
channel = client.get_channel(836232733126426666)
embed = discord.Embed(title=f"Someone tried to swear!", colour=0x2D2D2D)
embed.add_field(name="Person who tried to swear:", value=f"{message.author.name}", inline=False)
embed.add_field(name="What they tried to say:", value=f"{badword}", inline=False)
embed.add_field(name="Channel they tried to swear in:", value=f"<#{message.channel.id}>", inline=False)
return await channel.send(embed=embed)
参考:
- on_message_edit https://discordpy.readthedocs.io/en/latest/api.html#discord.on_message_edit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)