Open Lordmau5 opened 1 month ago
Dennis just came up with another idea
To add 2 more effect boxes to the Channel Point Reward effect.
Basically one box for Effects To Run On Approval
and one for Effects To Run On Rejection
or something like that
Maybe also hide the boxes when the Skip Reward Requests Queue
checkbox is enabled
Describe the solution you'd like So right now Firebot only implements the EventSub event for when someone redeems a channel point reward.
However, the issue with that is that it will trigger effects even when the redemption hasn't been approved yet.
Checking the code it seems to use the
onChannelRedemptionAdd
hook of Twurple here: https://github.com/crowbartools/Firebot/blob/e79218410e2034470dfff12123f981e08c282f0d/src/backend/twitch-api/eventsub/eventsub-client.ts#L67Twurple also offers one called
onChannelRedemptionUpdate
which will update the reward'sstatus
to eitherfulfilled
orcancelled
: https://github.com/twurple/twurple/blob/56b7d3cfa0d1f51e3f4c270803352401f233b7a6/packages/eventsub-base/src/EventSubBase.ts#L687 https://dev.twitch.tv/docs/eventsub/eventsub-subscription-types/#channelchannel_points_custom_reward_redemptionupdateMoving over to this hook would be easy seeing as Firebot isn't using any of the methods of the old hook event (
getReward
orupdateStatus
method)Additional context I am not sure if both would be needed to support rewards that skip Twitch's reward queue.
Additionally, to not break existing workflows, one idea might be to implement it as a restriction to confirm fulfillment:![image](https://github.com/crowbartools/Firebot/assets/1345036/f6d11087-a08d-4f35-b114-962bf06a52ad)
Alternatively, if restrictions can't be limited to just the channel point rewards, maybe adding an extra checkbox to wait for fulfillment would be an idea?
Ultimately though I feel it should be changed alltogether though, since it does seem like it's not implemented to Twitch's spec to me.
(If a reward is skipping the queue, it should trigger an effect immediately. If it is however waiting to be approved, then it should not trigger until it was approved.)