这是我当前的代码:
import discord
import os
from keep_alive import keep_alive
client = discord.Client()
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('!something'):
await message.channel.send('SOMETHING')
keep_alive()
client.run(os.getenv("TOKEN"))
我不知道如何制作脏话过滤器。在哪里可以了解有关 discord.py
库的更多信息?
答案 0 :(得分:1)
首先,我建议使用 commands.Bot()
而不是 discord.Client
。 commands.Bot()
是 Client
的子类,因此它具有相同的方法和属性。有了它,您还可以设置命令前缀,而不是一直使用 .startswith
等等。反正...
我们不是来为您编写代码的。在提问之前尝试查找它或尝试其他解决方案。如果您确实向我们展示了您的尝试,这将为我们提供更多信息。无论如何,让我们回到为您编写自己的代码......
试试这个代码:
badWords = ['poopoo', 'peepee', 'check', 'today is my birthday', "i don't like undertale's music", 'you are not cool >:(']
@bot.event
async def on_message(message):
messageContent = message.content
if any(word.lower() in messageContent.lower().replace(' ', '') for word in badWords):
await message.delete()
#other stuff...
在这段代码中,我们创建了一个 generator 并将它传递给 any()
,它检查可迭代对象中是否有任何项目是 True
。如果它确实返回 True
,则消息将被删除。