many changes

This commit is contained in:
2026-03-12 18:11:27 +03:00
parent c93caeb04f
commit 12c8ce99f0
13 changed files with 132 additions and 155 deletions

View File

@@ -26,34 +26,35 @@ import (
func RegisterRP() *laniakea.Plugin[database.Context] {
rp := laniakea.NewPlugin[database.Context]("RP")
rp.AddCommand(rp.NewCommand(rpUserPromptSet, "rpuserpset"))
rp.AddCommand(rp.NewCommand(rpInfo, "rp").SetDescription("РП профиль пользователя"))
rp.AddCommand(rp.NewCommand(rpInfo, "рп").SkipCommandAutoGen())
rp.AddPayload(rp.NewCommand(rpInfo, "rp.info"))
rp.AddPayload(rp.NewCommand(rpWaifuList, "rp.waifu_list"))
rp.AddPayload(rp.NewCommand(rpWaifuSet, "rp.waifu_set"))
rp.AddPayload(rp.NewCommand(rpPresetsList, "rp.preset_list"))
rp.AddPayload(rp.NewCommand(rpPresetSet, "rp.preset_set"))
rp.AddPayload(rp.NewCommand(rpModelList, "rp.model_list"))
rp.AddPayload(rp.NewCommand(rpModelSet, "rp.model_set"))
rp.AddPayload(rp.NewCommand(rpScenarioList, "rp.scenario_list"))
rp.AddPayload(rp.NewCommand(rpSettingList, "rp.setting_list"))
rp.AddPayload(rp.NewCommand(chatStat, "rp.chat_stat"))
rp.AddPayload(rp.NewCommand(newChatStage1, "rp.new_chat_s1"))
rp.AddPayload(rp.NewCommand(newChatStage2, "rp.new_chat_s2"))
rp.AddPayload(rp.NewCommand(newChat, "rp.new_chat"))
rp.AddCommand(rp.NewCommand(
rp.NewCommand(rpUserPromptSet, "rpuserpset")
rp.NewCommand(rpInfo, "rp").SetDescription("РП профиль пользователя")
rp.NewCommand(rpInfo, "рп")
rp.NewPayload(rpInfo, "rp.info")
rp.NewPayload(rpWaifuList, "rp.waifu_list")
rp.NewPayload(rpWaifuSet, "rp.waifu_set")
rp.NewPayload(rpPresetsList, "rp.preset_list")
rp.NewPayload(rpPresetSet, "rp.preset_set")
rp.NewPayload(rpModelList, "rp.model_list")
rp.NewPayload(rpModelSet, "rp.model_set")
rp.NewPayload(rpScenarioList, "rp.scenario_list")
rp.NewPayload(rpSettingList, "rp.setting_list")
rp.NewPayload(chatStat, "rp.chat_stat")
rp.NewPayload(newChatStage1, "rp.new_chat_s1")
rp.NewPayload(newChatStage2, "rp.new_chat_s2")
rp.NewPayload(newChat, "rp.new_chat")
rp.NewCommand(
generate, "g",
*laniakea.NewCommandArg("prompt", laniakea.CommandValueAnyType),
).SetDescription("Генерация РП"))
rp.AddCommand(rp.NewCommand(generate, "gen").SkipCommandAutoGen())
rp.AddCommand(rp.NewCommand(generate, "г").SkipCommandAutoGen())
rp.AddPayload(rp.NewCommand(compress, "rp.compress_chat"))
rp.AddPayload(rp.NewCommand(regenerateResponse, "rp.regenerate"))
).SetDescription("Генерация РП")
rp.NewCommand(generate, "gen").SkipCommandAutoGen()
rp.NewCommand(generate, "г").SkipCommandAutoGen()
rp.NewPayload(compress, "rp.compress_chat")
rp.NewPayload(regenerateResponse, "rp.regenerate")
rp.AddPayload(rp.NewCommand(compressSettingStage1, "rp.compress_setting_s1"))
rp.AddPayload(rp.NewCommand(compressSettingStage2, "rp.compress_setting_s2"))
rp.AddPayload(rp.NewCommand(compressSetting, "rp.compress_setting"))
rp.NewPayload(compressSettingStage1, "rp.compress_setting_s1")
rp.NewPayload(compressSettingStage2, "rp.compress_setting_s2")
rp.NewPayload(compressSetting, "rp.compress_setting")
return rp
}
@@ -171,14 +172,14 @@ func rpWaifuList(ctx *laniakea.MsgContext, db *database.Context) {
owner = waifu.Owner.Name
}
out[i] = fmt.Sprintf(
"*%s* %d\\* из \"%s\" (владелец: %s)",
"*%s* %d из \"%s\" (владелец: %s)",
waifu.Name, waifu.Rarity, waifu.Fandom, owner,
)
kb.AddCallbackButton(waifu.Name, "rp.waifu_set", waifu.ID)
}
kb.AddLine()
kb.AddCallbackButtonStyle("На главную", laniakea.ButtonStyleDanger, "rp.info")
ctx.EditCallback(strings.Join(out, "\n"), kb)
ctx.EditCallbackMarkdown(strings.Join(out, "\n"), kb)
ctx.AnswerCbQuery()
}
func rpWaifuSet(ctx *laniakea.MsgContext, db *database.Context) {
@@ -202,7 +203,7 @@ func rpWaifuSet(ctx *laniakea.MsgContext, db *database.Context) {
kb := laniakea.NewInlineKeyboard(1)
kb.AddCallbackButtonStyle("На главную", laniakea.ButtonStyleSuccess, "rp.info")
ctx.EditCallbackf("Была выбрана вайфу %s", kb, waifu.Name)
ctx.EditCallbackfMarkdown("Была выбрана вайфу *%s*", kb, waifu.Name)
ctx.AnswerCbQuery()
}
@@ -217,7 +218,7 @@ func rpPresetsList(ctx *laniakea.MsgContext, db *database.Context) {
kb := laniakea.NewInlineKeyboard(2)
for i, preset := range presets {
out[i] = fmt.Sprintf(
"*%s* - %s",
"*%s* \\- %s",
laniakea.EscapeMarkdownV2(preset.Name), preset.Description,
)
kb.AddCallbackButton(preset.Name, "rp.preset_set", preset.ID)
@@ -265,12 +266,12 @@ func rpModelList(ctx *laniakea.MsgContext, db *database.Context) {
out := make([]string, len(models))
kb := laniakea.NewInlineKeyboard(2)
for i, model := range models {
out[i] = fmt.Sprintf("*%s* - размер контекста _%dK_", model.Name, model.ContextSize)
out[i] = fmt.Sprintf("*%s* \\- размер контекста _%dK_", laniakea.EscapeMarkdownV2(model.Name), model.ContextSize)
kb.AddCallbackButton(model.Name, "rp.model_set", model.ID)
}
kb.AddLine()
kb.AddCallbackButtonStyle("Назад", laniakea.ButtonStyleDanger, "rp.info")
ctx.EditCallbackMarkdown(laniakea.EscapePunctuation(strings.Join(out, "\n")), kb)
ctx.EditCallbackMarkdown(strings.Join(out, "\n"), kb)
ctx.AnswerCbQuery()
}
func rpModelSet(ctx *laniakea.MsgContext, db *database.Context) {
@@ -308,10 +309,10 @@ func rpScenarioList(ctx *laniakea.MsgContext, db *database.Context) {
out := make([]string, len(scenarios))
kb := laniakea.NewInlineKeyboard(1)
for i, scenario := range scenarios {
out[i] = fmt.Sprintf("*%s* - %s\n", scenario.Name, scenario.Description)
out[i] = fmt.Sprintf("*%s* \\- %s\n", scenario.Name, scenario.Description)
}
kb.AddCallbackButtonStyle("На главную", laniakea.ButtonStyleDanger, "rp.info")
ctx.EditCallbackMarkdown("Список сценариев\n"+laniakea.EscapePunctuation(strings.Join(out, "\n")), kb)
ctx.EditCallbackMarkdown("Список сценариев\n"+strings.Join(out, "\n"), kb)
ctx.AnswerCbQuery()
}
func rpSettingList(ctx *laniakea.MsgContext, db *database.Context) {
@@ -324,11 +325,11 @@ func rpSettingList(ctx *laniakea.MsgContext, db *database.Context) {
out := make([]string, len(settings))
for i, setting := range settings {
out[i] = fmt.Sprintf("*%s* - %s\n", setting.Name, setting.Description)
out[i] = fmt.Sprintf("*%s* \\- %s\n", setting.Name, setting.Description)
}
kb := laniakea.NewInlineKeyboard(1)
kb.AddCallbackButtonStyle("На главную", laniakea.ButtonStyleSuccess, "rp.info")
ctx.EditCallbackMarkdown(laniakea.EscapePunctuation(strings.Join(out, "\n")), kb)
ctx.EditCallbackMarkdown(strings.Join(out, "\n"), kb)
ctx.AnswerCbQuery()
}
@@ -387,13 +388,13 @@ func newChatStage1(ctx *laniakea.MsgContext, db *database.Context) {
}
kb := laniakea.NewInlineKeyboard(2)
for _, setting := range settings {
out = append(out, fmt.Sprintf("*%s* - %s", setting.Name, setting.Description))
out = append(out, fmt.Sprintf("*%s* \\- %s", setting.Name, setting.Description))
kb.AddCallbackButton(setting.Name, "rp.new_chat_s2", setting.ID)
}
kb.AddCallbackButton("Без сеттинга", "rp.new_chat_s2", 0)
kb.AddLine()
kb.AddCallbackButtonStyle("Назад", laniakea.ButtonStyleDanger, "rp.info")
ctx.EditCallbackMarkdown(laniakea.EscapePunctuation(strings.Join(out, "\n")), kb)
ctx.EditCallbackMarkdown(strings.Join(out, "\n"), kb)
ctx.AnswerCbQuery()
}
func newChatStage2(ctx *laniakea.MsgContext, db *database.Context) {
@@ -536,7 +537,7 @@ func newChat(ctx *laniakea.MsgContext, db *database.Context) {
kb := laniakea.NewInlineKeyboard(2)
kb.AddCallbackButtonStyle("На главную", laniakea.ButtonStyleSuccess, "rp.info")
kb.AddCallbackButtonStyle("Закрыть", laniakea.ButtonStyleDanger, "general.close")
ctx.EditCallback("Был создан новый чат. Для общения используй `/г промпт`.", kb)
ctx.EditCallbackMarkdown("Был создан новый чат\\. Для общения используй `/г промпт`", kb)
ctx.AnswerCbQuery()
}
@@ -989,11 +990,11 @@ func compressSettingStage1(ctx *laniakea.MsgContext, _ *database.Context) {
out := []string{
"Выбери метод для определения сжатия",
"*По сообщениям* — чат будет сжиматься после достижения определенного кол-ва сообщений в нём",
"*По токенам* — чат будет сжиматься после достижения определенного кол-ва токенов в нём",
"*По сообщениям* \\— чат будет сжиматься после достижения определенного кол-ва сообщений в нём",
"*По токенам* \\— чат будет сжиматься после достижения определенного кол-ва токенов в нём",
}
ctx.EditCallback(strings.Join(out, "\n"), kb)
ctx.EditCallbackMarkdown(strings.Join(out, "\n"), kb)
}
func compressSettingStage2(ctx *laniakea.MsgContext, _ *database.Context) {
if len(ctx.Args) == 0 {