Skip to content

Instantly share code, notes, and snippets.

@DarkStoorM
Last active May 9, 2024 18:44
Show Gist options
  • Save DarkStoorM/fc9daf663612b47c7fa75dd5a81b7bbd to your computer and use it in GitHub Desktop.
Save DarkStoorM/fc9daf663612b47c7fa75dd5a81b7bbd to your computer and use it in GitHub Desktop.
Twitch spam redemptions

Spam channel points rewards by skipping the redemption window without Twitch API

  • open Devtools -> Network
  • filter requests by gql.twitch

a

  • clear requests list and redeem a channel points reward
  • right click the request and copy as fetch

a

  • go to the Console tab and paste the fetch request
  • find transactionID field in the body property and replace it with a random number (otherwise twitch will reject your request due to a duplicate request)
\"transactionID\":\""+Math.floor(Math.random() * Number.MAX_SAFE_INTEGER)+"\"
  • remove the following properties to pass the twitch control test (poopoo CORS):
    • credentials
    • cache-control
    • pragma
    • priority

a

  • press enter, up arrow, repeat to spam

You can also change the transactionID to some variable in a loop and spam, but only with a certain delay, because some requests will get lost/rejected.


Optional

You can automate this by grabbing all rewardID fields for certain channel and creating custom UI with buttons.

To grab all custom channel points reward IDs, look for the gql request that contains ChannelPointsContext in the payload. The response will have a customRewards property somewhere in the structure ¯\_(ツ)_/¯

@JustTunerYT
Copy link

Upd 05.08: Seems like this method isn't working anymore.

@DarkStoorM
Copy link
Author

DarkStoorM commented May 8, 2024

Upd 05.08: Seems like this method isn't working anymore.

Looks like you also have to remove the following fields:

  • cache-control
  • pragma
  • priority

After this I managed to get it working

@JustTunerYT
Copy link

Upd 05.08: Seems like this method isn't working anymore.

Looks like you also have to remove the following fields:

  • cache-control
  • pragma
  • priority

After this I managed to get it working

Alright, I'll try it out later

@JustTunerYT
Copy link

@DarkStoorM Hm, can't seem to find cache control

@JustTunerYT
Copy link

Ok, so just deleting "Priority" worked for me, thanks!

@DarkStoorM
Copy link
Author

Oh, it might be browser-related then (or just user preferences), not sure.
Glad it works 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment