client.run(“ TOKEN”)阻止问题(python&discord.py)

时间:2020-06-04 20:31:03

标签: python discord discord.py

我知道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()

2 个答案:

答案 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'),具体取决于您使用的是事件还是命令。