所以我有一段代码在不和谐的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:]))
答案 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)