From ab27565a6005173616eb04a663ac204622d598c0 Mon Sep 17 00:00:00 2001 From: crackededed <90209774+crackededed@users.noreply.github.com> Date: Sun, 15 Dec 2024 16:02:38 +0200 Subject: [PATCH] fix reply with helix (cherry picked from commit 67338ed4fa72fc419e2a013a8f15f32f6cbad966) --- .../com/github/andreyasadchy/xtra/repository/ApiRepository.kt | 3 ++- .../com/github/andreyasadchy/xtra/ui/chat/ChatViewModel.kt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/github/andreyasadchy/xtra/repository/ApiRepository.kt b/app/src/main/java/com/github/andreyasadchy/xtra/repository/ApiRepository.kt index bf1934137..3a9cb45cd 100644 --- a/app/src/main/java/com/github/andreyasadchy/xtra/repository/ApiRepository.kt +++ b/app/src/main/java/com/github/andreyasadchy/xtra/repository/ApiRepository.kt @@ -1038,11 +1038,12 @@ class ApiRepository @Inject constructor( } } - suspend fun sendMessage(helixHeaders: Map, userId: String?, channelId: String?, message: String?): String? = withContext(Dispatchers.IO) { + suspend fun sendMessage(helixHeaders: Map, userId: String?, channelId: String?, message: String?, replyId: String?): String? = withContext(Dispatchers.IO) { val json = buildJsonObject { put("broadcaster_id", channelId) put("sender_id", userId) put("message", message) + replyId?.let { put("reply_parent_message_id", it) } } val response = helix.sendMessage(helixHeaders, json) if (response.isSuccessful) { diff --git a/app/src/main/java/com/github/andreyasadchy/xtra/ui/chat/ChatViewModel.kt b/app/src/main/java/com/github/andreyasadchy/xtra/ui/chat/ChatViewModel.kt index c70f1c027..0cc80f36b 100644 --- a/app/src/main/java/com/github/andreyasadchy/xtra/ui/chat/ChatViewModel.kt +++ b/app/src/main/java/com/github/andreyasadchy/xtra/ui/chat/ChatViewModel.kt @@ -968,7 +968,7 @@ class ChatViewModel @Inject constructor( private fun sendMessage(message: CharSequence, replyId: String? = null) { if (useApiChatMessages && !helixHeaders[C.HEADER_TOKEN].isNullOrBlank()) { viewModelScope.launch { - repository.sendMessage(helixHeaders, account.id, channelId, message.toString())?.let { + repository.sendMessage(helixHeaders, account.id, channelId, message.toString(), replyId)?.let { onMessage(ChatMessage(systemMsg = it)) } }