【发布时间】:2019-08-23 12:17:32
【问题描述】:
我正在制作一个机器人,当它检测到您正在使用禁用词时,它会删除您的消息。很简单,但是,当我这样做时。 on_message 函数正在重复。我不知道为什么,但我希望你能回答我的问题
@client.event
async def on_message(msg):
contents = msg.content.split(" ")
for word in contents:
if word.lower() in chat_filter: #ChatFilter is a list of words that cannot be used
try:
await msg.delete()
await msg.channel.send("**YOU ARE NOT ALLOWED TO USE THIS WORD!!!**")
except discord.errors.NotFound:
return
【问题讨论】:
-
你能详细说明
repeats itself是什么意思吗? -
@reportgunner 好吧,我正在关注一个 youtube 视频。对他来说,当他编写代码时,它为他编写了一次。我复制了他的代码,它不断重复。我认为这是版本和东西的区别
-
我问,因为我不知道您的意思是“重复自身”,如“无限循环运行”或“消息重复”(即每条消息有两个响应)或“消息成倍增长”。
-
@reportgunner 是的。即使我不希望它发生,这些消息也会不断重复。有什么解决办法吗?我会给你视频的链接来告诉你我的意思youtube.com/watch?v=-2b1JUwEF3o
-
chat_filter中的单词之一是否也在消息中?您可以添加一个检查以忽略您自己的消息:if msg.author == client.user: return
标签: python discord discord.py-rewrite