From 06d2827acec719e60040576dd950848991f2d39b Mon Sep 17 00:00:00 2001 From: alexbcberio Date: Thu, 6 Jan 2022 03:08:43 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Complete/cancel=20reward=20redempti?= =?UTF-8?q?on=20automatically?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/pubSubClient/index.ts | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/backend/pubSubClient/index.ts b/src/backend/pubSubClient/index.ts index b5c6db7..979d529 100644 --- a/src/backend/pubSubClient/index.ts +++ b/src/backend/pubSubClient/index.ts @@ -1,13 +1,18 @@ import { PubSubClient, PubSubRedemptionMessage } from "@twurple/pubsub"; +import { + cancelRewards, + completeRewards, + getAuthProvider +} from "../helpers/twitch"; import { RedemptionIds } from "../../enums/Redemptions"; import { RedemptionMessage } from "../../interfaces/RedemptionMessage"; import { UserIdResolvable } from "@twurple/api"; import { broadcast } from "../helpers/webServer"; -import { getAuthProvider } from "../helpers/twitch"; import { getVip } from "./actions/getVip"; import { hidrate } from "./actions/hidrate"; import { highlightMessage } from "./actions/highlightMessage"; +import { isProduction } from "../helpers/util"; import { rawDataSymbol } from "@twurple/common"; import { russianRoulette } from "./actions/russianRoulette"; import { stealVip } from "./actions/stealVip"; @@ -87,6 +92,23 @@ async function onRedemption(message: PubSubRedemptionMessage) { broadcast(JSON.stringify(handledMessage)); } + + const completeOrCancelReward = + handledMessage && isProduction ? completeRewards : cancelRewards; + + if (message.rewardIsQueued) { + try { + await completeOrCancelReward( + message.channelId, + message.rewardId, + message.id + ); + } catch (e) { + if (e instanceof Error) { + console.log(`${LOG_PREFIX}${e.message}`); + } + } + } } export { registerUserListener, LOG_PREFIX };