Eve Online Anomaly Ratting Bot Release



Right, but you didn’t say to turn off the MWD/Afterbuner in your initial example :stuck_out_tongue: You said to keep it on and warp.

What you describe now is basically my version (step 2 align -> 3 turn off mod 4 wait for drones to arrive 5 then warp), except that my version is quicker and align time goes faster without prop mod on, but you keep your initial orbit speed during cycle down so you are basically at warp speed within 5 secs anyway. The rest of the time you just wait for the drones to arrive = happens faster without prop mod on.

But we agree then, turn off the prop mod :wink:


For me sometimes the stuff are obvious lol :wink:


My algorithm for Ishtar/VNI that has an orbit is an anomaly:
Is neutral on grid? warp out immediately. Check this before any next step.

  1. Align to the save bookmark
  2. Scoop drones
  3. Turn off AB (Afterburner)
  4. Drone in local space < 0 then warp out.

PS: AB module is not marked as “always on”.


Anyone willing to share .exe file ?
I cant build it fml


U can download the .exe from

Click -> 17.05.03.Sanderling.ABot.exe


Thnx but I am looking for the orbit version :slight_smile:


forgive me if this has been answered already i just joined. Is there any way to make the bot orbit something when using a drone ship.

and also i was wondering how i would fix when im using a gila that can only use 2 drones, it keeps trying to launch drones. if i only keep 2 drones and it doesnt recall when an enemy comes and then all my drones are gone. or how do i recall my drones before retreat

Edit: i figured out how to fix the issue with more than 2 drones with my gila. i changed Combat.cs

changed : if (0 < droneInBayCount && droneInLocalSpaceCount < 5)
yield return droneGroupInBay.ClickMenuEntryByRegexPattern(bot, @“launch”);

to: if (0 < droneInBayCount && droneInLocalSpaceCount < 2)
yield return droneGroupInBay.ClickMenuEntryByRegexPattern(bot, @“launch”);

still cant figure out the recalling drones bit or the orbiting.


Hello and welcome @luedimus,

Great job on solving the number of drones! :slight_smile:
I suspect the issue with recalling is not so simple however, most likely you need to:

  1. Add a check to trigger recalling the drones before the flee command is issued.
    2a. Waiting a set amount of time before initiating warp to allow drones to come back to you, or
    2b. Check to see if the drones are in space.

The orbit part was linked earlier in this thread.


i have managed to implement it. code is already there for inside warping to next anomaly. however i have not been able to fix the issue if friendly is in anomaly. he just sits in the anomaly and clicks on anomaly constantly.
this morning i come back to the computer and seen two messages from two people going off at me for sitting in there anomaly. whats worse is i was afk and didn’t say anything back.


Good morning my friends…

I have this code

Sanderling.Parse.IMemoryMeasurement Measurement => Sanderling?.MemoryMeasurementParsed?.Value;
var chatLocal =
?.FirstOrDefault(windowChat => windowChat?.Caption?.RegexMatchSuccessIgnoreCase(“local”) ?? false);
bool hostileOrNeutralsInLocal => 1 != chatLocal?.ParticipantView?.Entry?.Count(IsNeutralOrEnemy);
bool IsNeutralOrEnemy(IChatParticipantEntry participantEntry) =>
!(participantEntry?.FlagIcon?.Any(flagIcon =>
new[] { “Pilot (is in your fleet|is in your corporation|is in your alliance|has Excellent Standing.|has Good Standing.)” }
.Any(goodStandingText =>
flagIcon?.HintText?.RegexMatchSuccessIgnoreCase(goodStandingText) ?? false)) ?? false);
var chatLocal =
?.FirstOrDefault(windowChat => windowChat?.Caption?.RegexMatchSuccessIgnoreCase(“local”) ?? false);
if(chatLocal?.ParticipantView?.Entry?.Count(IsNeutralOrEnemy) > 1)
System.Media.SoundPlayer simpleSound = new System.Media.SoundPlayer(@“C:\EVE\BOT\Warp\script\alerta.wav”);

It beeps when a neutral enters the “location.”
Is it possible to edit this code so that instead of sending a sound alert it presses the “G” key?

// Change the  code between the ///---------------------------'s to something like this
Sanderling.KeyboardPress(new [] { VirtualKeyCode.VK_G}); 

Host.Delay(5000); // waits 5 seconds;



dont work

“TimeDateTimeIntraDayCal”: “19.15.19”,
“TimeDateTimeIntraSecMilliString”: “180”,
“CaptionString”: “System.Exception: compilation error: (20,26): error CS1503: Argument 2: cannot convert from ‘WindowsInput.Native.VirtualKeyCode[]’ to ‘WindowsInput.Native.VirtualKeyCode’\r\n em BotSharp.ScriptRun.ScriptRun.<>c__DisplayClass61_0.b__0()”,
“LineIndex”: 19,
“CharacterIndexInLine”: 49,
“LineIndexInAvalonEdit”: 20,
“CharacterIndexInLineInAvalonEdit”: 50


Try this

// Change the code between the ///---------------------------'s to something like this
Sanderling.KeyboardPressCombined(new [] { VirtualKeyCode.VK_G});

Host.Delay(5000); // waits 5 seconds;

Or remove the array brackets [] and use Sanderling.KeyboardPress(new VirtualKeyCode.VK_G);



I was wondering how you were able to do this?
I’m no coder (just a script kiddie who can edit) but I have been trying to add in a function to check if there is a blue in site with no luck, could you give some insight into how you were able to do this?


Do you read this tread?


Ahha, no I didn’t see that, thank you

I also had a good read from Fuzzy building A-Bot that you fuzzy and master added to, along with the github very usfulll stuff! :slight_smile:

I’ve been trying to get it to work so that it properly pulls drones when it detects a neutral, however what would be the best way to do it, apart from declaring all the variables over again? I added it to the RetreatTask with a sleep before warping off, but I’m sure there’s a better way

(sorry for multi question) But is there also a activation issue with using launchers? I noticed when I tried to use them it didn’t work sometimes


@Fuzzy hey quick dumb question for ya, when doing the orbiting setup you had from post #224

it says that if you want the bot to orbit a collidables, to change asteroid for the type. Would that require to change all 3 asteroid in the program? Also, when you refer to the type, I assume it is the type column in the overview? Is there any way to get it to orbit any collidables?



Newmy I had this issue when trying to sort rock from gas haven. I added another var like this:

// Object. They should be shown in overview. If you want orbit “collidable entity” replace the word “asteroid” with a word from the column type
var Broken = memoryMeasurement?.WindowOverview?.FirstOrDefault()?.ListView?.Entry
?.Where(entry => entry?.Name?.RegexMatchSuccessIgnoreCase(“Pirate”) ?? false)
?.OrderBy(entry => entry?.DistanceMax ?? int.MaxValue)

			// Object. They should be shown in overview. If you want orbit "collidable entity" replace the word "asteroid" with a word from the column type
			var Brokengate = memoryMeasurement?.WindowOverview?.FirstOrDefault()?.ListView?.Entry
				?.Where(entry => entry?.Name?.RegexMatchSuccessIgnoreCase("Chemical") ?? false)
				?.OrderBy(entry => entry?.DistanceMax ?? int.MaxValue)

And then where the variables are called I added another line to check for both orbitals:

			if (speedMilli < 20000)
				yield return Broken.FirstOrDefault().ClickMenuEntryByRegexPattern(bot, "Orbit", "20 km");
				yield return Brokengate.FirstOrDefault().ClickMenuEntryByRegexPattern(bot, "Orbit", "30 km");

This is probably bad coding and not proper way to put in the post, but this works for me.


Hello guys i have been using the bot with an ishtar and wanted to change it into a rattlesnake, i miracly figure to change the nunbers of drones out to 2 from 5 now it works, but my programming level is more like of the one of a kindergardeen.

Ï’m having a problem activating the cruise missiles in said trattlenakes, the bot seem to read the module but doesn’t recognise it as a weapon or if it does he doesn’t think it should be attacking the objective. i would really like to step up to the snake but this is now giving me leser results tahn a vni, does anyobdy had this problem before?



I downloaded the .exe of A-bot from the releases on github. How do I edit the script though? Is it through the .exe interface?