diff --git a/src/main/kotlin/kr/lunaticbum/back/lun/controllers/Telegram.kt b/src/main/kotlin/kr/lunaticbum/back/lun/controllers/Telegram.kt index 79c9602..c642d69 100644 --- a/src/main/kotlin/kr/lunaticbum/back/lun/controllers/Telegram.kt +++ b/src/main/kotlin/kr/lunaticbum/back/lun/controllers/Telegram.kt @@ -21,6 +21,8 @@ import org.springframework.web.reactive.function.client.WebClient import java.math.BigDecimal import java.math.RoundingMode import java.net.URLEncoder +import java.text.DateFormat +import java.text.SimpleDateFormat import java.time.Duration import java.util.* import kotlin.collections.ArrayList @@ -164,6 +166,7 @@ class Telegram { } else if (req.reqMsg?.contains("검색") == true) { var originalQuery = req.reqMsg + originalQuery?.replace("오늘", SimpleDateFormat("yyyMMdd").format(Date())) val gSearch = "https://www.googleapis.com/customsearch/v1?key=AIzaSyARLXyvmr_554tOy3UCh3naFlZQS3-qQQM&cx=207f328d3ad7242f2&q=${originalQuery}&num=5&lr=kr" println("gSearch >>> ${gSearch}") WebClient.create().get() @@ -173,12 +176,20 @@ class Telegram { println("gsearch result ==> ${Gson().toJson(gsResult)}") var additionalInfo = StringBuffer() gsResult.items?.forEach { - additionalInfo.append("- 정보 타이틀 : ").append(it.title).append("\n") additionalInfo.append("- 정보 출처 :").append(it.link).append("\n") - additionalInfo.append("- 정보 요약 :").append(it.snippet).append("\n") - - Jsoup.connect(it.link).get().body().text().let { - additionalInfo.append("- 정보 내용 :").append(it).append("\n") + try { + Jsoup.connect(it.link).get().body().text().let { + if (it.length > 1000) { + additionalInfo.append("- 정보 내용 :").append(it.chunked(500).first()).append("\n") + } else { + additionalInfo.append("- 정보 내용 :").append(it).append("\n") + } + } + } catch (e : Exception) { + additionalInfo.append("- 정보 타이틀 : ").append(it.title).append("\n") + additionalInfo.append("- 정보 요약 :").append(it.snippet).append("\n") + println(it.link) + e.printStackTrace() } additionalInfo.append("\n") }