Capabilities of the bot client

Hey smart people,

I’ve been wondering if the botlab client is able to read only the overview from the eve client, or can it read the cargo content window?

The use case for this would be loot tracking. Before diving into learning ELM, I just want to know if it’s possible for the bot to read the cargo contents of a wreck (after opening it, of course) and then saving the resaults into a database.

Hey Valehin, welcome back!

Yes, the BotLab client also reads the cargo contents, including the list of items and the fill percentage. Bots typically use this information to move individual items between containers or to decide when to unload items (especially in the case of mining operations)

Following is a part of the structure read from the inventory window in the game client:

type alias InventoryWindow =
    { uiNode : UITreeNodeWithDisplayRegion
    , leftTreeEntries : List InventoryWindowLeftTreeEntry
    , subCaptionLabelText : Maybe String
    , selectedContainerCapacityGauge : Maybe (Result String InventoryWindowCapacityGauge)
    , selectedContainerInventory : Maybe Inventory
    , buttonToSwitchToListView : Maybe UITreeNodeWithDisplayRegion
    , buttonToStackAll : Maybe UITreeNodeWithDisplayRegion
    }

(From the guide on the parsed user interface of the EVE Online game client at https://to.botlab.org/guide/parsed-user-interface-of-the-eve-online-game-client)

When you have opened a wreck in the inventory window, you will see the items showing up in this list.