diff --git a/src/main/kotlin/dev/jansel/aglaea/utils/Twitch.kt b/src/main/kotlin/dev/jansel/aglaea/utils/Twitch.kt index e87912c..ebed73b 100644 --- a/src/main/kotlin/dev/jansel/aglaea/utils/Twitch.kt +++ b/src/main/kotlin/dev/jansel/aglaea/utils/Twitch.kt @@ -3,6 +3,7 @@ package dev.jansel.aglaea.utils import com.github.philippheuer.credentialmanager.domain.OAuth2Credential import com.github.twitch4j.TwitchClientBuilder import com.github.twitch4j.chat.events.channel.ChannelMessageEvent +import com.github.twitch4j.graphql.internal.type.CommunityPointsCustomRewardRedemptionStatus import dev.jansel.aglaea.logger import dev.jansel.aglaea.twitchClient import dev.kordex.core.koin.KordExKoinComponent @@ -12,6 +13,7 @@ class Twitch : KordExKoinComponent { twitchClient = TwitchClientBuilder.builder() .withEnableHelix(true) .withEnableChat(true) + .withEnableGraphQL(true) .withChatAccount(OAuth2Credential("twitch", twitchToken)) .withClientId(twitchcid) .withClientSecret(twitchcs) @@ -19,12 +21,15 @@ class Twitch : KordExKoinComponent { twitchClient!!.chat.joinChannel(getTwitchNameById("120275141")) - twitchClient!!.eventManager.onEvent( - com.github.twitch4j.chat.events.channel.ChannelMessageEvent::class.java - ) { event -> + twitchClient!!.eventManager.onEvent(ChannelMessageEvent::class.java) { event -> if (event.customRewardId.isPresent && event.customRewardId.get() == "38157e62-de35-4a21-8200-447b55d7577e") { logger.info { "Channel points redeemed: ${event.customRewardId.get()}" } - // Handle the channel points redemption here + twitchClient!!.graphQL.updateRedemptionStatus( + OAuth2Credential("twitch", twitchToken), + "120275141", + event.eventId, + CommunityPointsCustomRewardRedemptionStatus.FULFILLED + ).execute() } } }