Python 在同一repl.it项目中运行两个flask discord.py bot

Python 在同一repl.it项目中运行两个flask discord.py bot,python,discord.py,Python,Discord.py,我使用repl.it在同一个repl中运行两个bot,我使用导入,正如我在其他stackoverflow问题中看到的那样 print('这将是制作所有机器人程序的页面') 导入操作系统 导入bot1 进口使你保持活力 导入bot2 导入保持有效性1 尽管如此: 打印('所有机器人已启动!')``` 问题是,它永远不会进入while循环(用于测试),因为它会卡在bot1文件中。我该如何解决这个问题**我在同一个repl项目中执行此操作的原因是,我可以合并bot数据库。**谢谢。 您不应该将SQLi

我使用repl.it在同一个repl中运行两个bot,我使用导入,正如我在其他stackoverflow问题中看到的那样

print('这将是制作所有机器人程序的页面')
导入操作系统
导入bot1
进口使你保持活力
导入bot2
导入保持有效性1
尽管如此:
打印('所有机器人已启动!')```
问题是,它永远不会进入while循环(用于测试),因为它会卡在bot1文件中。我该如何解决这个问题**我在同一个repl项目中执行此操作的原因是,我可以合并bot数据库。**谢谢。

您不应该将SQLite或本地数据库与repl.it一起使用。这是因为当容器重新启动时,您可能会丢失一些数据(除非这些年来它们改变了这一点)

建议使用MongoDB这样的数据库,它提供免费的500MB数据库供您使用

既然你问了一个问题,我会回答的。你可以试试这个:

import asyncio

loop = asyncio.get_event_loop()
loop.create_task(bot1.start("bot_token1"))
loop.create_task(bot2.start("bot_token2"))
loop.run_forever()

您需要使用COG,并在
main.py
中设置两个bot,然后用于更好的文件管理。

我不一定要使用
asyncio
为此,
线程
多处理
将是一个更好的选择。虽然如果机器人很小,这应该可以实现trickWell@ŁukaszKwieciński基于异步IO用法的功能:使用repl.it托管您的机器人不会很复杂或需要很多带宽。谢谢你的建议,尽管@ukaszKwieciński我甚至不知道为什么我把它放在那里,但是,我使用的是一个文件数据库,txt文件,因为我不知道如何使用SQLite。现在,我正在用open(str(ctx.author.id)+'.txt',w'):print('Testing',file=out)创建文本文件,他建议您不要使用数据库。尽管处理文本文件很痛苦,但至少应该切换到json或yaml文件