From 56e66c52efa8877864ce8347a976389ba223d83c Mon Sep 17 00:00:00 2001 From: Jannik Reimers Date: Thu, 3 Apr 2025 20:20:15 +0200 Subject: [PATCH] test twitch stuff --- .github/workflows/root.yml | 1 + src/main/kotlin/dev/jansel/aglaea/utils/Twitch.kt | 10 ++++++++-- src/main/kotlin/dev/jansel/aglaea/utils/_Utils.kt | 11 +++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/workflows/root.yml b/.github/workflows/root.yml index 4577a7a..f0cccb7 100644 --- a/.github/workflows/root.yml +++ b/.github/workflows/root.yml @@ -2,6 +2,7 @@ name: Build & Publish on: workflow_dispatch: + push: jobs: build: diff --git a/src/main/kotlin/dev/jansel/aglaea/utils/Twitch.kt b/src/main/kotlin/dev/jansel/aglaea/utils/Twitch.kt index 86bdbb4..579ab19 100644 --- a/src/main/kotlin/dev/jansel/aglaea/utils/Twitch.kt +++ b/src/main/kotlin/dev/jansel/aglaea/utils/Twitch.kt @@ -1,7 +1,8 @@ package dev.jansel.aglaea.utils -import com.github.philippheuer.events4j.reactor.ReactorEventHandler import com.github.twitch4j.TwitchClientBuilder +import com.github.twitch4j.chat.events.channel.ChannelMessageEvent +import dev.jansel.aglaea.logger import dev.jansel.aglaea.twitchClient import dev.kordex.core.koin.KordExKoinComponent @@ -10,9 +11,14 @@ class Twitch : KordExKoinComponent { twitchClient = TwitchClientBuilder.builder() .withEnableHelix(true) .withEnablePubSub(true) - .withDefaultEventHandler(ReactorEventHandler::class.java) .withClientId(twitchcid) .withClientSecret(twitchcs) .build() + + twitchClient!!.chat.joinChannel(getTwitchNameById("120275141")) + + twitchClient!!.eventManager.onEvent(com.github.twitch4j.chat.events.channel.ChannelMessageEvent::class.java) { event -> + logger.info { "Message from Twitch: ${event.user.name}: ${event.message}" } + } } } diff --git a/src/main/kotlin/dev/jansel/aglaea/utils/_Utils.kt b/src/main/kotlin/dev/jansel/aglaea/utils/_Utils.kt index 89739fd..e00c135 100644 --- a/src/main/kotlin/dev/jansel/aglaea/utils/_Utils.kt +++ b/src/main/kotlin/dev/jansel/aglaea/utils/_Utils.kt @@ -1,5 +1,6 @@ package dev.jansel.aglaea.utils +import dev.jansel.aglaea.twitchClient import dev.kordex.core.builders.ExtensibleBotBuilder import dev.kordex.core.utils.env import dev.kordex.core.utils.loadModule @@ -21,3 +22,13 @@ suspend inline fun ExtensibleBotBuilder.twitch(active: Boolean) { } } } + +fun getTwitchNameById(id: String): String? { + val resultList = twitchClient!!.helix?.getUsers(null, listOf(id), null)?.execute() + resultList?.users?.forEach { user -> + if (user.id == id) { + return user.displayName + } + } + return null +}