Skip to content

[Feature Request] Implement Channel Point Rewards Queue Approval / Rejection #2561

@Lordmau5

Description

@Lordmau5

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:

const customRewardRedemptionSubscription = this._eventSubListener.onChannelRedemptionAdd(streamer.userId, async (event) => {

Twurple also offers one called onChannelRedemptionUpdate which will update the reward's status to either fulfilled or cancelled:
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_redemptionupdate

Moving over to this hook would be easy seeing as Firebot isn't using any of the methods of the old hook event (getReward or updateStatus 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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Closed

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions