Skip to content

Commit 9b84c88

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 1d89ee2 + 651fbbf commit 9b84c88

File tree

4 files changed

+28
-6
lines changed

4 files changed

+28
-6
lines changed

src/main/kotlin/me/kuku/telegram/entity/BotConfigEntity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ class BotConfigEntity {
2121
var updatePush: Status = Status.OFF
2222

2323
var openaiToken: String = ""
24+
var openaiUrl: String = ""
25+
var openaiModel: String = ""
2426

2527
fun twoCaptchaKey() = twoCaptchaKey.ifEmpty { null }
2628
}

src/main/kotlin/me/kuku/telegram/extension/OpenaiExtension.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package me.kuku.telegram.extension
33
import com.aallam.openai.api.chat.*
44
import com.aallam.openai.api.model.ModelId
55
import com.aallam.openai.client.OpenAI
6+
import com.aallam.openai.client.OpenAIHost
67
import com.pengrad.telegrambot.model.PhotoSize
78
import com.pengrad.telegrambot.model.request.ParseMode
89
import com.pengrad.telegrambot.request.EditMessageText
@@ -57,8 +58,10 @@ class OpenaiExtension(
5758

5859
val botConfigEntity = botConfigService.find()
5960
if (botConfigEntity.openaiToken.ifEmpty { "" }.isEmpty()) error("not setting openai token")
61+
val openaiHost = if (botConfigEntity.openaiUrl.isEmpty()) OpenAIHost.OpenAI else OpenAIHost(botConfigEntity.openaiUrl)
62+
val openaiModel = botConfigEntity.openaiModel.ifEmpty { "gpt-4o-mini" }
6063

61-
val openai = OpenAI(botConfigEntity.openaiToken)
64+
val openai = OpenAI(botConfigEntity.openaiToken, host = openaiHost)
6265

6366
val chatMessage = ChatMessage(
6467
role = ChatRole.User,
@@ -73,7 +76,7 @@ class OpenaiExtension(
7376
cacheBody.add(chatMessage)
7477

7578
val request = ChatCompletionRequest(
76-
model = ModelId("gpt-4o-mini"),
79+
model = ModelId(openaiModel),
7780
messages = cacheBody,
7881
streamOptions = streamOptions {
7982
includeUsage = true
@@ -85,7 +88,7 @@ class OpenaiExtension(
8588
val sendMessageObject = response.message()
8689
val sendMessageId = sendMessageObject.messageId()
8790
var openaiText = ""
88-
var prefix = ">model: gpt\\-4o\\-mini\n"
91+
var prefix = ">model: ${openaiModel.replace("-", "\\-")}\n"
8992
var alreadySendText = ""
9093
var i = 5
9194
openai.chatCompletions(request).onEach {

src/main/kotlin/me/kuku/telegram/extension/PushExtension.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,7 @@ class PushBody {
166166
}
167167

168168
enum class Type {
169-
TEXT, IMAGE, VIDEO, FILE
170-
}
169+
TEXT, IMAGE, VIDEO, FILE }
171170

172171

173172
}

src/main/kotlin/me/kuku/telegram/extension/SettingExtension.kt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@ class SettingExtension(
2424
val clearLog = inlineKeyboardButton("清空日志", "settingsClearLog")
2525
val updatePush = inlineKeyboardButton("${init().updatePush}github更新推送", "githubUpdatePushSwitch")
2626
val openai = inlineKeyboardButton("设置openai的token", "openaiToken")
27+
val openaiUrl = inlineKeyboardButton("设置openai的url", "openaiUrl")
28+
val openaiModel = inlineKeyboardButton("设置openai的model", "openaiModel")
2729
return InlineKeyboardMarkup(
2830
arrayOf(blackSetting, adminSetting),
2931
arrayOf(url),
3032
arrayOf(twoCaptcha),
3133
arrayOf(sendLog, clearLog),
3234
arrayOf(updatePush),
33-
arrayOf(openai)
35+
arrayOf(openai, openaiUrl, openaiModel)
3436
)
3537
}
3638

@@ -157,6 +159,22 @@ class SettingExtension(
157159
botConfigService.save(entity)
158160
editMessageText("设置openai的token成功")
159161
}
162+
callback("openaiUrl") {
163+
editMessageText("请发送openai的url")
164+
val url = nextMessage().text()
165+
val entity = init()
166+
entity.openaiUrl = url
167+
botConfigService.save(entity)
168+
editMessageText("设置openai的url成功")
169+
}
170+
callback("openaiModel") {
171+
editMessageText("请发送openai的model")
172+
val model = nextMessage().text()
173+
val entity = init()
174+
entity.openaiModel = model
175+
botConfigService.save(entity)
176+
editMessageText("设置openai的model成功")
177+
}
160178
}
161179

162180
fun TelegramSubscribe.log() {

0 commit comments

Comments
 (0)