您好,我想创建一个不和谐的bot,以删除包含不良单词的消息。我只找到一个函数 startswith ,但是如果它包含不好的单词,我也想删除该消息。
这是我的代码:
@bot.event
async def on_message(message):
args = message.content.split(" ")[1:]
if message.content.startswith("bad_word"):
await message.delete()
await bot.send_message(message.channel, " ".join(args))
谢谢您的帮助
答案 0 :(得分:2)
文档states message.content
是一个字符串,因此您可能正在寻找:
foo = 'Here is an example string that contains bar.'
if 'bar' in foo:
print('bar is in foo')
答案 1 :(得分:2)
如果您需要对几个不好的单词进行排序,可以这样做
@bot.event
async def on_message(message):
args = message.content.split(" ")[1:]
bad_words = ("bad_word1", "bad_word2", "bad_word3"...)
if any(bad_word in content for bad_word in bad_words):
await message.delete()
await bot.send_message(message.channel, " ".join(args))
我还建议将内容转换为小写,以避免用大写字母绕过系统的可能性。
any(bad_word in content.lower() for bad_word in bad_words)