我知道client.run(“ TOKEN”)会阻止其后的任何代码...我试图让程序打印一条消息(以我的情况为例,当耐克产品入库时),然后继续运行再次捡起东西时再打印一个。如何关闭/关闭我的client.run(“ TOKEN”)命令,以便我的程序可以继续运行?
else:
print("NO RESTOCK FOUND...STILL MONITORING")
client = commands.Bot(command_prefix = "!")
channel = client.get_channel(ABCDEFG)
await channel.send("NO RESTOCK FOUND...STILL MONITORING")
client.run("TOKEN")
time.sleep(0.5)
client.close()
答案 0 :(得分:0)
您可以导入Threading并使用Thread类,基本上创建一个像这样的函数:
def runClient():
client.run("TOKEN")
,在那一部分中,您要运行client.run(“ TOKEN”),只需执行以下操作: threading.Thread(target = runClient).start() 这将创建一个线程,该线程将运行该功能,并在该功能执行完后继续执行其余任务,希望这会有所帮助!
答案 1 :(得分:0)
您可以使用client.run()
来代替await client.start()
,它不会阻止代码。
import asyncio
async def client_start():
await client.start('token.goes.here')
然后您可以在函数中调用await client.start()
。
要发送消息,请使用message.channel.send('Message')
或ctx.send('Message')
,具体取决于您使用的是事件还是命令。