In the next Beta/Release I'm including a basic Follow plugin via a new Community assembly to be used alongside QuestBot/MapBot to give people an idea of how it can work. The plugin inserts at task at the front of MB/QB, preventing any other tasks from running. It's dependent on the Default assembly still, so you can use it with other bot bases, but they also need to use EXtensions.
I'm adding this because I'll need something to test the new party API with when it gets added to the client, so might as well get something ready.
The area transition issue is easily solved it turns out. As long as your character is following the leader, you can keep track of the leader's last position (in case you fall behind) and the closest area transition to the leader. When the leader is no longer in the area, you can assume they took an area transition (in Lab, at least) and take it. If the leader is still in view, but not reachable, you can take the last area transition the leader was seen at, which should be on your side of the map. There might be a case where you can see 2 local area transitions, in which case the logic will need an adjustment, but that's not an issue in Lab really.
The plugin also has a simple feature to stop at the boss room, so it doesn't go instead and get killed. After the boss is killed you can take the boss door, then start the bot again to have it follow you. It will follow you through town and take the lab thing in act 3 as well just fine. It does not use waypoints yet though, but not a big deal.
I've run lab about 4 times testing the plugin, and I think it does the job well. There's some lab specific logic needed though, such as not trying to walk through the wall traps when they are triggered. Later on features to support still being able to loot or use skills might be nice. Since AutoFlask is Tick based and not Task based, the following character will heal fine, and flask charges are granted to the party.
You can also always just stop the bot when you want the character to wait for you to do something, then get back in range of it and click Start again for it to resume. Controlling the bot from a normal client is only possible with the use of Windows global hotkeys, or having another bot attached with hotkeys, but that's also not a huge deal and an advanced feature I probably won't look into.
If you don't want to wait for the next build, here's the code to look at. I might make other changes in the mean time, but this should do it:
https://gist.github.com/pushedx/88a8a244ca5ecfea6d92fc50b9e4b038
It won't compile as-is, because I added a new type, LabyrinthReturnPortal to handle the portal at the end of lab since it was missing. You can just comment out logic relating to that stuff and it just won't take the end portal, or fix it by changing that type to NetworkObject, then finding an object with the metadata "Metadata/Terrain/Labyrinth/Objects/LabyrinthReturnPortal" inside Tick rather than the current code that finds it by type.