Mining Bot - warping to a new asteroid belt if a spacific NPC is present

Hello @Viir, hope you are well and healthy,

i found a new rat in the asteroid belts that i would like to avoid by warping out to another asteroid belt

i’m struggling to implement it, i’m still a beginner in ELM.

can you help me?

1 Like

Hello again @Viir ,

i’m trying to patch some code together to make the bot to warp out if a NPC that i specify in the bot settings is present in the belt, before any other action takes place.

i got stuck and can’t do anymore with the knowledge of ELM i have at the moment.

can you please look at the code and give me some pointers

1 Like

Sorry about the unusual delay. There was a large project that started last week and only finished today.

Thank you for sharing your scenario :+1:
As is often the case, here we can copy from an existing project to integrate this new feature.
There is a ratting bot that does something very similar: That bot flies to anomalies for ratting. When there is already another pilot on arrival, it warps away to another anomaly. When it comes to program code, we can look at how it is done there for inspiration.
Your description of the desired behavior looks like you want to do something slightly different than the mentioned ratting bot: Since you are afraid of that rat, you also want to warp out when that other entity arrives later than you.

Another thing to keep in mind is the memory of the presence of said rat in the belt. That ratting bot memorizes that information (when there was another pilot) for every visited anomaly. You might want something analogous (eventually): Depending on how often and how long you expect that rat to stay in the belt, it makes sense to lower the priority of that specific belt when selecting the next mining site randomly (for example, after unloading and undocking)

We can get the rat’s name from the overview to compare with what you entered in the bot settings. The code for this is simple and used very often. For example, some mining bots use this to select only specified types of asteroids.

Absolutely! A case where you have already tried something has high priority, more important than that project I mentioned earlier.

Where can I see your experiments or that code that you tried?

Don’t worry about it. it’s ok, i understand

that would be the optimal scenario.

i’ve sent you the code at

Cool, I adapted it to work :+1:

You can run your bot from

The variant you mailed me checked for the rats only if there was no asteroid visible.

In the code you see I placed the branch closer to the root, so it does not depend on the visibility of asteroids.

great, i will try it later today.

and a second question if you don’t mind
is it posible to add a choice to enable to select the asteroid belts one by one?
example :
select first asteroid belt, mine it till no asteroids in the belt, then go to second, then third, etc etc…

I was thinking something like a yes-no choice, because someone may not want that

hello @Viir,

I tried the bot but after a little it stops with an error.
it tries to open the context menu to select the station but the mouse pointer goes to the top left corner of the screen

here you can find the session

I will check when the download of the session recording works :+1:

This is not set up yet:

@Viir you have access now

I received :+1:

In event 15511, we can see what the problem was: The drone window was covered by the overview window.
The bot tried to return the drones, but it could not because the overview window was in front of the drone window.

You can see the ‘drones in Bay’ label under the overview here:

You can avoid that problem by placing these windows so they do not overlap.

By the way: The status text offers a faster way to see where the problem was:

ok, i will move the windows and try again.
thanks again for the reply and solution

about this option, is it possible to add?

@Viir hello agian,

the bot got stuck again, trying to open the context menu.
no windows or anything on front.
i can send you if that helps you an image from my arrangement of the HUD in eve

you can find the new session in previous link

Yes, that is possible.

There is none so far, but when you make the session recording available, I will check :+1:

here, new link

1 Like

Thank you for the session recording!
In event 708, we see how your game client differed from the previous ones: When clicking on the surroundings button in the info panel, it placed the new context menu at the upper left corner of the game client window.
In the earlier training data, the game clients always opened the context menu so that at least an edge was close to the mouse cursor.
The unusual placement is why you got the ‘Existing cascade is too far away’ error: When seeing this inconsistency, the bot assumed the context menu belonged to another entity.

Bot f830cc8c84 is adapted to for that game client:

@Cerberus You can run the variant with your personal feature, the custom bot setting from bots/implement/applications/eve-online/eve-online-mining-bot at 43c69d97cea1b266d35a624fbec5751dd55a54f3 · Viir/bots · GitHub

Source: Adapt to game client from session-recording-2023-02-11T16-17-12 · Viir/bots@d5331ed · GitHub

the bot works ok.

can we implement this?

Good to know it works now!

Sure :+1:


hope you are well. do we have an update?

What about the variant with your personal feature that we developed earlier?
Do we have an update there?
On the catalog, it looks like you did not yet start to use that version.

In the last month, we developed more than a dozen improvements and new features in areas with more demand.
You can see a timeline of the updates at
We prioritize based on demand.