def run(self):
asyncio.run(self.main())
bot.run()
, а asyncio.create_task(bot.main())
. Тогда тело бота не попытается создать новый event loop, а запустится в уже существующем, бок о бок с предыдущим ботом. И они смогут нормально взаимодействовать.async def run_func_every_hour():
while True:
await func() # вызов твоей функции, если она async
# если она синхронная - вызов не должен быть длительным!
await asyncio.sleep(3600.0)
hourly_task = asyncio.create_task(run_func_every_hour())
hourly_task.cancel()
.