不和谐代码无缘无故运行多次

时间:2018-08-23 04:51:40

标签: python python-3.x discord discord.py

所以我有一段代码在不和谐的bot上运行,应该在命令后重复用户所说的内容。它执行此操作,但在该脚本中执行了8次总运行后,又重复了7次。谁能发现为什么会这样?

注意:实际运行的代码从elif开始,但是我放进了所有内容,以防万一之前的事情弄乱了它。

@Client.event 
async def on_message(message):
  if message.content == "s!ping":
    userID = message.author.id
    Client.send_message(message.channel, "<@%s>" % (userID))
  elif message.content.startswith == "s!say":
    args = message.content.split(" ")
    Client.send_message(message.channel, "%s" % (args[1:]))

Image to show test input and output

2 个答案:

答案 0 :(得分:2)

我是Repl.it的首席执行官。我认为这可能是扩展我们的服务的错误,因为我们可能会运行您的服务器的多个实例。我们将很快对此进行修复。同时,我认为其他Repl.it用户对此有一个解决方法。加入我们的Discord,那里有许多机器人开发人员可以帮助您https://discord.gg/xa6S23

答案 1 :(得分:0)

在您的代码中,您正在发送一个列表。 拆分列表后,尝试加入列表(该列表将返回一个字符串)并将其发送。 类似于下面的代码

elif message.content.startswith == "s!say":
    args = message.content.split(" ")
    out = " ".join(args[1:]) # concat the message without the "s!say"
    Client.send_message(message.channel, out)