diff --git a/CHANGELOG-nightly.md b/CHANGELOG-nightly.md index 5220f7e9f..711835315 100644 --- a/CHANGELOG-nightly.md +++ b/CHANGELOG-nightly.md @@ -2,6 +2,7 @@ - Remove hosted-site functionality - Use new pubsub source +- Added randomized delay to Autoclaim channel points feature ### 3.1.8.1000 diff --git a/src/site/twitch.tv/modules/autoclaim/AutoclaimModule.vue b/src/site/twitch.tv/modules/autoclaim/AutoclaimModule.vue index 435fc5345..568afa343 100644 --- a/src/site/twitch.tv/modules/autoclaim/AutoclaimModule.vue +++ b/src/site/twitch.tv/modules/autoclaim/AutoclaimModule.vue @@ -43,6 +43,15 @@ const lock = ref(false); const doClaim = debounceFn(async (inst: HookedInstance) => { if (lock.value || typeof inst.component.onClick !== "function") return; + // Generate a random delay from 1000 to 7000 ms + const delay = 1000 + Math.floor(Math.random() * 6000); + + log.debug(`Delaying claim by ${delay}ms`); + await new Promise((resolve) => setTimeout(resolve, delay)); + + // Check if the component or state has gone away during the wait time + if (lock.value || typeof inst.component.onClick !== "function") return; + inst.component.onClick(); // Prevent further clicks while the button is reverting to its original state