DestinyItemManager / dim-api

Destiny Item Manager API Service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

API to transfer/equip items and loadouts

aidanjacobson opened this issue · comments

Proposed change
I would like to see an API added to DIM that would allow people to access DIM from their own apps, for example switching loadouts to a saved one in DIM. This would allow people to write apps that interface with other technologies, like voice control software (e.g. Google Assistant, Alexa)

How does this fit into your workflow?
Being on console makes it annoying to have to open my inventory every time and wait for it to load, so I would love to just be able to say something like "OK Google, tell Destiny to switch to my PVP loadout". Of course it would be up to other developers to write a skill for Google Assistant or Alexa, unless you develop that too.

Good idea! We in fact already have this planned, but have some other features ahead of it in priority.

This would be extremely useful for both an Alexa skill, and for Streamdeck integration.

To achieve this, we'd need to build two major pieces:

  1. Opt-in storage of a new, confidential-oauth token that allows the DIM API to take action on its own.
  2. A stripped-down version of the item move logic and load out application logic that can run in the API. This will be a challenge since it'll need to load and process inventory, then issue all the moves, in the process of that call - it'll be very slow!

@bhollis a possible solution could be to utilise a user's existing local instance of DIM, and then provide communication to that local instance (e.g. via WebRTC).

  • A DIM server would act as a pairing service (some form of auth required).
  • Bungie OAuth tokens would remain local.
  • Existing logic for moving items would remain mostly unchanged.

I think for a bunch of reasons we'll be going the route of having the server affect the moves.