DestinyItemManager / dim-api

Destiny Item Manager API Service
MIT License
37 stars 18 forks source link

API to transfer/equip items and loadouts #16

Open aidanjacobson opened 4 years ago

aidanjacobson commented 4 years ago

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.

bhollis commented 4 years ago

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

bhollis commented 4 years ago

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!
GeekyEggo commented 4 years ago

@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).

bhollis commented 4 years ago

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