Yield to the normal interaction timing
if (!LokiPoe.IsInGame)
return;
await Coroutines.FinishCurrentAction();
await Coroutines.LatencyWait();Use inside the bot's asynchronous workflow. Do not block the bot thread with Thread.Sleep.
Asynchronous helpers for timing, interaction and common game actions. Await these helpers within the bot workflow.
Namespace: DreamPoeBot.Loki.Bot
public static class CoroutinesView DPB1 version โusing System;
using System.Linq;
using DreamPoeBot.Loki.Game;
using DreamPoeBot.Loki.Game.Objects;
using DreamPoeBot.Loki.Bot;
using DreamPoeBot.Loki.Bot.Pathfinding;
using DreamPoeBot.Loki.Common;if (!LokiPoe.IsInGame)
return;
await Coroutines.FinishCurrentAction();
await Coroutines.LatencyWait();Use inside the bot's asynchronous workflow. Do not block the bot thread with Thread.Sleep.
public static Task<Vector2i> Coroutines.ExInteractWith<T>(NetworkObject obj, bool holdCtrl = false, int timeout = 1000, bool autoEquip = true)
Attempts to interact with a game object of the requested type and reports the resulting interaction position. The character may move into range first. For collectible items, autoEquip set to true allows the game to equip the collected item automatically when permitted; false collects it without requesting automatic equipment.
objNetworkObjectholdCtrlbooltimeoutintautoEquipboolReturns: The reported interaction position, or DreamPoeBot.Common.Vector2i.Zero when the attempt fails.
DPB2 0.4.5.88 ยท Reference reviewed 2026-10-02. Descriptions use source summaries where available, otherwise concise signature-based descriptions. Examples illustrate usage; they are not a live-game test.