RPC Calls
The methods the rpc action can invoke. Every call is an object with an id you generate, type: "call", the method, and an args list:
{
"id": "b2d3fd23-380a-4aa6-9284-ae61a40eed9e",
"type": "call",
"method": "string",
"args": []
}The method and corresponding args are defined below.
effectResponse call
Reports the outcome of a requested effect. request must be the requestID of the originating effect-request.
Each entry in args is shaped like this:
One of 17 shapes:
essentially Success + MenuUnavailable rolled into one often used for effects that can only happen a limited number of times (granting items that can only be acquired once, increasing max health when decreasing it isn't an option, etc)
same as success but the viewer should not be notified until timeRemaining has passed
"treat the same as DelayEstimated tbh"
"like DelayEstimated but without any information on how long it might be"
"like DelayUnknown but assumed to be a very very long time"
like TimedEnd but the streamer explicitly canceled it - it probably ended early - consider refunding?
like TimedCanceled but ending the effect failed - effect might be stuck on or the game may be in some degraded state
refund & hide effect
alias for FailPermanent
For challenge effects, when a viewer's effect was successfully applied and the streamer failed the challenge
effectReport call
Reports availability or visibility changes for effects so viewers see which effects can be redeemed.
Each entry in args is shaped like this:
idstringidsstring[]stampnumberstatus'menuAvailable' | 'menuUnavailable' | 'menuVisible' | 'menuHidden'effectType?GamePackEffectTypeidType?'effect' | 'category' | 'group'deprecatednative client backwards compat; see identifierType
identifierType?'effect' | 'category' | 'group'message?stringA human-readable reason for the reported status (e.g. why an effect is unavailable)
messageID?stringAn error ID denoting the reason for the reported status.
packMetadataChanged call
Reports live metadata from the game such as character names, selected level, etc.
args takes 2 entries, shaped like this:
[0]stringgenericEvent call
Emits one of various one-off events about the state of the game or actions invoked by the streamer.
args takes exactly one entry, shaped like this:
One of 3 shapes:
addEffects call
Adds custom effects to the game session menu.
args takes exactly one entry, shaped like this:
internal?booleanremoveEffect call
Removes custom effects from the game session menu.
args takes exactly one entry, shaped like this:
internal?boolean