Max*_*Boy 3 python file filter python-3.x discord.py
我正在制作一个带有重写功能的discord.py 机器人。我想制作一个反脏话过滤器,这样如果有人在消息中脏话,它就会删除该消息并发送消息。我有一个脏话文件,其中包含我需要的所有单词。
这是我到目前为止的代码,但它不起作用:
@client.event
async def on_message(ctx, message):
msg = message.content
with open('badWords.txt') as BadWords:
if msg in BadWords.read():
await message.delete()
await ctx.send("Dont use that word!")
else:
await ctx.process_commands(message)
Run Code Online (Sandbox Code Playgroud)
感谢所有帮助!
我们假设它的BadWords.txt格式如下:
Word1 Word2 Word3
Run Code Online (Sandbox Code Playgroud)
请注意,每个单词都用空格分隔。
因此,我们需要在函数之外打开文件on_message()。如果它在函数内部,那么我们每次都会一直打开它。这对机器人来说可能很难。因此,在顶部的import声明下方:
Word1 Word2 Word3
Run Code Online (Sandbox Code Playgroud)
现在,您拥有了名为 的数组中的所有单词badwords。进入你的on_message()函数,并添加以下内容:
with open('BadWords.txt', 'r') as f:
words = f.read()
badwords = words.split()
Run Code Online (Sandbox Code Playgroud)