python - 如何在运行但尚未完成时调用停止 while 循环?

使用 Discord 本身的文本触发 Ctrl+C?

如何使用 close() 和 Discord 中的文本来停止 while 循环,即使它还没有完成?

如何使用 Discord 中的文本停止 client.run(TOKEN)?

回答1

您可以使用 SIGINT 信号,这是您使用 Control-C 时的信号。请参阅https://docs.python.org/3/library/os.html#os.kill了解更多信息。然后,您可以让机器人将信号发送给自己:

import os
import signal

def do_control_c_interrupt():
    os.kill(os.getpid(), signal.SIGINT)

然后,如果您需要停止机器人,您可以在命令中使用 do_control_c_interrupt()