在我的机器人中,它旨在检测何时有人在错误的通道中输入了命令。如果有人这样做,它将把他们定向到正确的频道,但是机器人会检测到它自己的消息并循环。
我尝试更改代码的顺序并修改if语句
elif str(message.channel) != channel or str(message.channel) != admin_channel:
if message.content.find(str(commands)):
print(f"""User {message.author}, entered command {message.content} in the {message.channel} channel!""")
await message.channel.send(f"""Please enter commands in the #bot-commands channel!""")
我希望它引导它们并暂停直到检测到另一条消息,但是它检测到它自己的消息,因此由于不断更新而循环
答案 0 :(得分:0)
您所需要的只是代码中的某个地方,无论client = bot是什么,无论您在代码中如何命名bot,都可以阻止它回复自身
@client.event
async def on_message(message):
#stops bot from replying to itself
if message.author == client.user:
return