DreamPoeBot Developers

DPB1 & DPB2 API reference

Look up an API, explore a working example or build your own extension. Documentation for plugins, bots, routines and movers — from your first project to a specific implementation detail.

DPB1 · 0.3.29.47DPB2 · 0.4.5.92Reviewed 2026-10-06

Looking for an existing bot or plugin, rather than writing one? Browse bots and plugins on the Home page.

Search the reference

Find a type, member or operation

2212 types found
2,212 current types 14,276 members 91,086 named values

Coverage across both reviewed products. Each result identifies its product; matching names do not guarantee matching behavior. Need context? Browse guides and examples.

Legacy Abyss APIs are excluded from current search and member lists. Existing links remain available as clearly labelled compatibility references. Support notes distinguish development changes from released features.

DPB1Class · Game state and actions

LokiPoe

Start here to check the client state, access the local player and identify the current area. Read in-game data only after checking IsInGame.

DPB2Class · Game state and actions

LokiPoe

Start here to check the client state, access the local player and identify the current area. Read in-game data only after checking IsInGame.

DPB1Class · Game state and actions

LokiPoe.ObjectManager

Retrieve informations about all the game Objects, Npcs, Monsters, WorldItems, AreaTransitions, but also interactable objects like Blight Towers, Ultimatum monolith, harmfull effects, etc etc. Litterally all the dynamic objects placed in game by the server. Use this wisely, as even if the ObjectManager have a cache that is refreshed every 30ms, calling it that fast, is really cpu intensive, you should code your components in the most efficent way possible.

DPB2Class · Game state and actions

LokiPoe.ObjectManager

Retrieve informations about all the game Objects, Npcs, Monsters, WorldItems, AreaTransitions, but also interactable objects like Blight Towers, Ultimatum monolith, harmfull effects, etc etc. Litterally all the dynamic objects placed in game by the server. Use this wisely, as even if the ObjectManager have a cache that is refreshed every 30ms, calling it that fast, is really cpu intensive, you should code your components in the most efficent way possible.

DPB1Class · Bots, plugins and tasks

Coroutines

Asynchronous helpers for timing, interaction and common game actions. Await these helpers within the bot workflow.

DPB2Class · Bots, plugins and tasks

Coroutines

Asynchronous helpers for timing, interaction and common game actions. Await these helpers within the bot workflow.

DPB1Interface · Bots, plugins and tasks

ITask

Contract for a unit of asynchronous bot work. Implement Run and the inherited lifecycle and messaging members.

DPB2Interface · Bots, plugins and tasks

ITask

Contract for a unit of asynchronous bot work. Implement Run and the inherited lifecycle and messaging members.

DPB1Class · Bots, plugins and tasks

BotManager

Discover installed bots, inspect the selected bot and observe or control its lifecycle.

DPB2Class · Bots, plugins and tasks

BotManager

Discover installed bots, inspect the selected bot and observe or control its lifecycle.

DPB1Interface · Bots, plugins and tasks

IPlugin

Contract for an extension that participates in the bot lifecycle. The inherited contracts describe initialization, enablement and cleanup.

DPB2Interface · Bots, plugins and tasks

IPlugin

Contract for an extension that participates in the bot lifecycle. The inherited contracts describe initialization, enablement and cleanup.

DPB1Class · Bots, plugins and tasks

PluginManager

Discover installed plugins and inspect the enabled extensions for the current session.

DPB2Class · Bots, plugins and tasks

PluginManager

Discover installed plugins and inspect the enabled extensions for the current session.

DPB1Class · World, character and items

LocalPlayer

The player controlled by the current client. Obtain it through LokiPoe.Me after checking that the client is in game.

DPB2Class · World, character and items

LocalPlayer

The player controlled by the current client. Obtain it through LokiPoe.Me after checking that the client is in game.

DPB1Class · World, character and items

Item

Read an item's identity, rarity, stack and other properties. Use its owning inventory or interface API for item actions.

DPB2Class · World, character and items

Item

Read an item's identity, rarity, stack and other properties. Use its owning inventory or interface API for item actions.

DPB1Class · Game state and actions

InventoryControlWrapper

Work with a specific inventory grid, including selecting and picking up items. Use the local item identifier from that grid.

DPB2Class · Game state and actions

InventoryControlWrapper

Work with a specific inventory grid, including selecting and picking up items. Use the local item identifier from that grid.

DPB1Class · Navigation

ExilePather

Query routes and path distances in the current area. Route calculation and issuing movement commands are separate operations.

DPB2Class · Navigation

ExilePather

Query routes and path distances in the current area. Route calculation and issuing movement commands are separate operations.

DPB1Class · Interface and panels

LokiPoe.InGameState

This is one of the most important class of the Framework, its purpose, is to offer easy to use wrappers members and methods to retrieve informations and interact with the game intefraces.

DPB2Class · Interface and panels

LokiPoe.InGameState

This is one of the most important class of the Framework, its purpose, is to offer easy to use wrappers members and methods to retrieve informations and interact with the game intefraces.

DPB1Class · World, character and items

AbyssNodeLarge

An Abyss node with a position and a blockage state. Read nodes recognized by your client; recognition of the reworked final node is still in development.

Reworked final-node recognition: implemented in development, not yet released.
DPB2Class · World, character and items

AbyssNodeLarge

An Abyss node with a position and a blockage state, including reworked final nodes in public DPB2 0.4.5.91. Blockage state does not establish encounter success.

Reworked final-node recognition is released in DPB2 0.4.5.91 (introduced in 0.4.5.90).
DPB2Class · Game data

AbyssStashTabLayout

Provides abyss stash tab layout data and the operations listed below. Related types link to the values this API consumes or returns.

This reference covers the developer-facing declarations in the reviewed Release source snapshot, including inherited APIs through their base-type links. Product versions are documented separately so differences remain visible.

Put the APIs to work

Guides & examples

Use a focused recipe, explore an extension contract or follow a first project. These are independent ways into the documentation, not a course you must complete before using the APIs.

Guides shown for DPB1: .NET Framework 4.8 (net48). Switch product to keep code, downloads and links aligned. Return to the DPB1 API reference →

New to DPB development

Your first extension

Build a nearby-enemy alert in five steps. Includes setup, complete checkpoints and expected results.

Start the guided project →
Solve a specific problem

Practical recipes

Recognize areas, find objects, read inventory and inspect skill slots. Follow each recipe to its code and APIs.

Browse examples →
Understand the contracts

Execution & lifecycle

Who calls Tick, how async work runs, and which component owns initialization and cleanup.

Explore the execution model →

Work with an extension type

All guides & source projects

17 guides · 8 source projects per product

Isolated API labs

Original, anonymous source for the standalone examples, with build and installation instructions. The FollowBot walkthrough uses selected fragments and implementation exercises; it is not a finished bot in this download. Compile baselines: DPB1 0.3.29.47 and DPB2 0.4.5.88; no live game validation claimed.

Download DPB1 kit ↓