Sam Michael
12/28/2021, 3:47 PMtylerwilson
12/28/2021, 4:50 PMprivate val client = HttpClient {
install(ContentNegotiation) {
json(Json { ignoreUnknownKeys = true; isLenient = true; useAlternativeNames = false; })
}
}
Aleksei Tirman [JB]
12/29/2021, 8:06 AMimport io.ktor.client.HttpClient
import io.ktor.client.engine.cio.CIO
import io.ktor.client.plugins.*
import io.ktor.client.request.*
import io.ktor.http.ContentType
import io.ktor.serialization.kotlinx.*
import io.ktor.serialization.kotlinx.json.*
import kotlinx.serialization.Serializable
object SlackBotApiService {
private val client = HttpClient(CIO) {
install(ContentNegotiation) {
register(ContentType.Application.Json, KotlinxSerializationConverter(DefaultJson))
}
defaultRequest {
header("Content-Type", "application/json")
}
}
@Serializable
data class Message(val text: String, val type: String = "mrkdwn")
suspend fun makePost(messageText: String) {
<http://client.post|client.post> {
url("<https://hooks.slack.com/services/************>")
setBody(Message(text = messageText))
}
}
}