...
This commit is contained in:
parent
7f465d9916
commit
f720e41ac1
@ -134,42 +134,51 @@ class Telegram {
|
|||||||
CoroutineScope(Dispatchers.IO).launch {
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
try {
|
try {
|
||||||
if (req.reqMsg?.contains("주변") == true) {
|
if (req.reqMsg?.contains("주변") == true) {
|
||||||
val gSearch = "https://www.googleapis.com/customsearch/v1?key=AIzaSyARLXyvmr_554tOy3UCh3naFlZQS3-qQQM&cx=207f328d3ad7242f2&q=${req.reqMsg}&num=5&lr=kr"
|
// val gSearch = "https://www.googleapis.com/customsearch/v1?key=AIzaSyARLXyvmr_554tOy3UCh3naFlZQS3-qQQM&cx=207f328d3ad7242f2&q=${req.reqMsg}&num=5&lr=kr"
|
||||||
println("gSearch >>> ${gSearch}")
|
// println("gSearch >>> ${gSearch}")
|
||||||
WebClient.create().get()
|
// WebClient.create().get()
|
||||||
.uri(gSearch)
|
// .uri(gSearch)
|
||||||
.retrieve()
|
// .retrieve()
|
||||||
.bodyToMono(GoogleSearchResult::class.java).timeout(Duration.ofMinutes(20L)).block()?.let { result ->
|
// .bodyToMono(GoogleSearchResult::class.java).timeout(Duration.ofMinutes(20L)).block()?.let { result ->
|
||||||
println("gsearch result ==> ${Gson().toJson(result)}")
|
// println("gsearch result ==> ${Gson().toJson(result)}")
|
||||||
req.reqMsg = req.reqMsg + "\n\n" + result.items?.map { it.snippet +"\nurl:"+it.link }?.joinToString { "\n" }
|
// req.reqMsg = req.reqMsg + "\n\n" + result.items?.map { it.snippet +"\nurl:"+it.link }?.joinToString { "\n" }
|
||||||
val client = WebClient.create()
|
// val client = WebClient.create()
|
||||||
client.post()
|
// client.post()
|
||||||
.uri("https://lama.lunaticbum.kr/api/generate")
|
// .uri("https://lama.lunaticbum.kr/api/generate")
|
||||||
.body(BodyInserters.fromValue(Gson().toJson(req)))
|
// .body(BodyInserters.fromValue(Gson().toJson(req)))
|
||||||
.retrieve()
|
// .retrieve()
|
||||||
.bodyToMono(String::class.java).timeout(Duration.ofMinutes(20L)).block()?.let { result ->
|
// .bodyToMono(String::class.java).timeout(Duration.ofMinutes(20L)).block()?.let { result ->
|
||||||
println("generate Result ==> ${result}")
|
// println("generate Result ==> ${result}")
|
||||||
Gson().fromJson(result, BumlamaResp::class.java)?.let { sss ->
|
// Gson().fromJson(result, BumlamaResp::class.java)?.let { sss ->
|
||||||
println(Gson().toJson(sss))
|
// println(Gson().toJson(sss))
|
||||||
val fullUrl = "https://api.telegram.org/${globalEvv.telegramBotKey}/sendMessage?chat_id=${globalEvv.telegramMyId}&text=${req.reqMsg}의 대답이 도착했어요.\n\n${sss.response}"
|
// val fullUrl = "https://api.telegram.org/${globalEvv.telegramBotKey}/sendMessage?chat_id=${globalEvv.telegramMyId}&text=${req.reqMsg}의 대답이 도착했어요.\n\n${sss.response}"
|
||||||
logService.log("fullUrl >>> ${fullUrl}")
|
// logService.log("fullUrl >>> ${fullUrl}")
|
||||||
WebClient.create().get()
|
// WebClient.create().get()
|
||||||
.uri(fullUrl)
|
// .uri(fullUrl)
|
||||||
.retrieve()
|
// .retrieve()
|
||||||
.bodyToMono(String::class.java).block() ?: "FAIL"
|
// .bodyToMono(String::class.java).block() ?: "FAIL"
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
} else if (req.reqMsg?.contains("검색") == true) {
|
} else if (req.reqMsg?.contains("검색") == true) {
|
||||||
val gSearch = "https://www.googleapis.com/customsearch/v1?key=AIzaSyARLXyvmr_554tOy3UCh3naFlZQS3-qQQM&cx=207f328d3ad7242f2&q=${req.reqMsg}&num=5&lr=kr"
|
var originalQuery = req.reqMsg
|
||||||
|
val gSearch = "https://www.googleapis.com/customsearch/v1?key=AIzaSyARLXyvmr_554tOy3UCh3naFlZQS3-qQQM&cx=207f328d3ad7242f2&q=${originalQuery}&num=5&lr=kr"
|
||||||
println("gSearch >>> ${gSearch}")
|
println("gSearch >>> ${gSearch}")
|
||||||
WebClient.create().get()
|
WebClient.create().get()
|
||||||
.uri(gSearch)
|
.uri(gSearch)
|
||||||
.retrieve()
|
.retrieve()
|
||||||
.bodyToMono(GoogleSearchResult::class.java).timeout(Duration.ofMinutes(20L)).block()?.let { result ->
|
.bodyToMono(GoogleSearchResult::class.java).timeout(Duration.ofMinutes(20L)).block()?.let { gsResult ->
|
||||||
println("gsearch result ==> ${Gson().toJson(result)}")
|
println("gsearch result ==> ${Gson().toJson(gsResult)}")
|
||||||
req.reqMsg = req.reqMsg + "\n\n" + result.items?.map { it.snippet +"\nurl:"+it.link }?.joinToString { "\n" }
|
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")
|
||||||
|
}
|
||||||
|
println("additionalInfo >>> ${additionalInfo.toString()}")
|
||||||
|
req.reqMsg = "질문 : " + originalQuery + "\n\n추가정보:" + "\n${additionalInfo.toString()} 위의 질문과 추가 정보를 고려하여 답변해주세요."
|
||||||
|
|
||||||
val client = WebClient.create()
|
val client = WebClient.create()
|
||||||
client.post()
|
client.post()
|
||||||
.uri("https://lama.lunaticbum.kr/api/generate")
|
.uri("https://lama.lunaticbum.kr/api/generate")
|
||||||
@ -178,13 +187,26 @@ class Telegram {
|
|||||||
.bodyToMono(String::class.java).timeout(Duration.ofMinutes(20L)).block()?.let { result ->
|
.bodyToMono(String::class.java).timeout(Duration.ofMinutes(20L)).block()?.let { result ->
|
||||||
println("generate Result ==> ${result}")
|
println("generate Result ==> ${result}")
|
||||||
Gson().fromJson(result, BumlamaResp::class.java)?.let { sss ->
|
Gson().fromJson(result, BumlamaResp::class.java)?.let { sss ->
|
||||||
|
var toalmsg = "${originalQuery}의 대답이 도착했어요.\n" + "\n" + "${sss.response}"
|
||||||
println(Gson().toJson(sss))
|
println(Gson().toJson(sss))
|
||||||
val fullUrl = "https://api.telegram.org/${globalEvv.telegramBotKey}/sendMessage?chat_id=${globalEvv.telegramMyId}&text=${req.reqMsg}의 대답이 도착했어요.\n\n${sss.response}"
|
if (toalmsg.length > 200) {
|
||||||
logService.log("fullUrl >>> ${fullUrl}")
|
toalmsg.chunked(120).forEach {
|
||||||
WebClient.create().get()
|
val fullUrl =
|
||||||
.uri(fullUrl)
|
"https://api.telegram.org/${globalEvv.telegramBotKey}/sendMessage?chat_id=${globalEvv.telegramMyId}&text=${it}"
|
||||||
.retrieve()
|
WebClient.create().get()
|
||||||
.bodyToMono(String::class.java).block() ?: "FAIL"
|
.uri(fullUrl)
|
||||||
|
.retrieve()
|
||||||
|
.bodyToMono(String::class.java).block() ?: "FAIL"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
val fullUrl =
|
||||||
|
"https://api.telegram.org/${globalEvv.telegramBotKey}/sendMessage?chat_id=${globalEvv.telegramMyId}&text=${req.reqMsg}의 대답이 도착했어요.\n\n${sss.response}"
|
||||||
|
logService.log("fullUrl >>> ${fullUrl}")
|
||||||
|
WebClient.create().get()
|
||||||
|
.uri(fullUrl)
|
||||||
|
.retrieve()
|
||||||
|
.bodyToMono(String::class.java).block() ?: "FAIL"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user