Fuzzy building A-Bot


Can anyone help me with a simple task?
What should I do to update sanderline for the bot in this tread?
If something was fixed in framework like(Rails - IsWeapon?) what should I do to apply these changes to already existing bot?
Thank you in advance.


Did you download the community edition from here?

The only explanation is you manage to install something else like the IDE or something?

I clicked wrong in the beginning too, make sure that’s not the problem:


I installed Visual studio code… the IDE after I finish this big install for visual studio I’ll edit this post for what happens. I feel stupid.

Edit: It works! How do you keep the rats from switching to your drones considering it doesn’t activate a auto target-er or anything of the sorts.

How would I change the anomalyenter.cs to go into forsaken hubs? I assume like this I may be wrong.

var probeScannerWindow = memoryMeasurement?.WindowProbeScanner? Forsaken();

			var scanResultCombatSite =
				probeScannerWindow?.ScanResultView?.Entry?.Forsaken Hub(AnomalySuitableGeneral);


I’m running into the issue that the bot tries to save the scanresult instead of ignore the anomaly if it is populated by an ally, but I can’t seem to solve it. Has anyone managed to fix this or can someone point me in the right direction?


I’ve changed AnomalyEnter.cs on line 17 to this:

static public bool AnomalySuitableGeneral(Interface.MemoryStruct.IListEntry scanResult) => scanResult?.CellValueFromColumnHeader("Name")?.RegexMatchSuccessIgnoreCase("forsaken hub") ?? false;

//this whole file is about executing a "safe" protocol. "SaveShip.cs" is what determines when safing needs to occur, this is just how safing is accomplished
using System.Collections.Generic;
using System.Linq;
using Sanderling.Motor;
using Sanderling.ABot.Parse;

namespace Sanderling.ABot.Bot.Task
	public class RetreatTask : IBotTask
		public Bot Bot;

		public IEnumerable<IBotTask> Component
				var memoryMeasurement = Bot?.MemoryMeasurementAtTime?.Value;
				var memMeasAccu = Bot?.MemoryMeasurementAccu;
				var abOff = memMeasAccu?.ShipUiModule?.Where(module => module?.TooltipLast?.Value?.IsAfterburner ?? false);
				if (!memoryMeasurement.ManeuverStartPossible())
					yield break;
				yield return new MenuPathTask
					RootUIElement = memoryMeasurement?.InfoPanelCurrentSystem?.ListSurroundingsButton,
					Bot = Bot,
					ListMenuListPriorityEntryRegexPattern = new[] { new[] { retreatBookmark }, new[] { @"dock", ParseStatic.MenuEntryWarpToAtLeafRegexPattern } },

				yield return Bot?.DeactivateModule(abOff);


		public IEnumerable<MotionParam> Effects => null;

I feel so dumb right now… Trying to get retreat.cs to turn off the afterburner after the warp command is sent (just to help align quicker) and for whatever reason the way I’m doing it throws no errors but causes the bot to toggle a reactive armor hardener instead. I’m obviously doing something horribly wrong but I can’t figure out what it is for the life of me. Can anyone help?

P.S. is there a way to use the step-through functionality in Sanderling with ABot? That would be insanely helpful.


Is there anyone who has gotten this release to work with changes to chat window?


Last release of A-Bot working with chat changes


but that a-bot doesnt orbit when it gets into site


I dont remember, read that topic long time ago but here could be solution for that. You just need to add it to Combat.cs

			var speedMilli = bot?.MemoryMeasurementAtTime?.Value?.ShipUi?.SpeedMilli;
			// Object. They should be shown in overview. If you want orbit "collidable entity" replace the word "asteroid" with a word from the column type

			// if we not warp and our speed < 20 m/s then try orbit 30 km
			if (speedMilli < 2000)
				var Broken = memoryMeasurement?.WindowOverview?.FirstOrDefault()?.ListView?.Entry
				  ?.Where(entry => entry?.Name?.RegexMatchSuccessIgnoreCase("broken") ?? false)
				  ?.OrderBy(entry => entry?.DistanceMax ?? int.MaxValue)
				//var orbitKeyCode = (VirtualKeyCode)'W';
				var BrokenTarget = memoryMeasurement?.Target?.FirstOrDefault(target => target?.IsSelected ?? false);
				yield return Broken.FirstOrDefault().ClickMenuEntryByRegexPattern(bot, "Orbit", "30 km");


If i remember right that not working in last verions and you should parse it by yourself from LabelText.


aaaaaa its work for me… but if your speed is 0, even close to station, he enter in combat mode.


That code didnt work … stated

yield return Broken.FirstOrDefault().ClickMenuEntryByRegexPattern(bot, “Orbit”, “30 km”);

takes 3 arguments

I had to fiddle with menu.cs … and change my default warp to … but seems to workish


yes, with 3 arguments and is work . you have to search on forum

I’m more concerned with closing windowtelecom



you told about that in forum… and from your code it seems its work with both , 2 arguments and 3. I took that from repository git


hi, does anybody made it works? when I build an exe it keeps saying “local chat window not found” but obviously it’s there.
with original A-bot it is working, but of course it is not orbiting and stuff…

thanks for help


You need to use last version of Sanderling library with fixed local detection.


well, iam definitely not visual studio type of guy … bit of help would be highly appreciated :slight_smile:

for now, i’ve replaced /lib folder with new versions, but it does not looks like it did the trick, after build am ending with 17.05.03 version