我应该如何制作一个检测某些单词然后删除它们的 Discord 机器人?
How should I make a Discord bot that detects certain words then delete them?
所以我一直在尝试通过制作一个 Discord 机器人来学习自己 Python,一切都很顺利,直到我遇到这个错误 AttributeError: 'Bot' object has no attribute 'delete'
。我打算做一个功能,如果它从字典中检测到某些单词,它将被删除。我读过 询问如何做同样的事情,但是使用旧版本 Discord.py
现在,我的代码是:
with open("bad_words.txt") as file: # bad-words.txt contains one blacklisted phrase per line
bad_words = [bad_word.strip().lower() for bad_word in file.readlines()]
@client.event
async def on_message(message):
print(message.content) #prints messages in console
for bad_word in bad_words:
if bad_word in message.content:
print("bad words detected") #prints when bad word is found
await client.delete(message) #delete said message
await client.process_commands(message)
我尝试过不同的方法,例如制作 类 或嵌套函数,但似乎 none 对我有用。对不起,如果这个问题看起来很愚蠢,谢谢你的帮助!
使用(重写版本)
await message.delete()
而不是
await client.delete(message)
所以我一直在尝试通过制作一个 Discord 机器人来学习自己 Python,一切都很顺利,直到我遇到这个错误 AttributeError: 'Bot' object has no attribute 'delete'
。我打算做一个功能,如果它从字典中检测到某些单词,它将被删除。我读过
现在,我的代码是:
with open("bad_words.txt") as file: # bad-words.txt contains one blacklisted phrase per line
bad_words = [bad_word.strip().lower() for bad_word in file.readlines()]
@client.event
async def on_message(message):
print(message.content) #prints messages in console
for bad_word in bad_words:
if bad_word in message.content:
print("bad words detected") #prints when bad word is found
await client.delete(message) #delete said message
await client.process_commands(message)
我尝试过不同的方法,例如制作 类 或嵌套函数,但似乎 none 对我有用。对不起,如果这个问题看起来很愚蠢,谢谢你的帮助!
使用(重写版本)
await message.delete()
而不是
await client.delete(message)