This commit is contained in:
2026-01-22 17:11:53 +03:00
parent 1ef0bd503a
commit fb81f401b7

View File

@@ -24,7 +24,6 @@ func RegisterRP(bot *laniakea.Bot) {
rp.Payload(rpPresetsList, "rp.preset_list")
rp.Payload(rpPresetSet, "rp.preset_set")
rp.Payload(rpScenarioList, "rp.scenario_list")
rp.Payload(rpScenarioSet, "rp.scenario_set")
rp.Payload(chatStat, "rp.tokens")
rp.Payload(newChat, "rp.new_chat")
@@ -33,6 +32,8 @@ func RegisterRP(bot *laniakea.Bot) {
rp.Command(generate, "g", "gen", "г")
rp.Payload(compress, "rp.compress_chat")
rp.Payload(generalClose, "general.close")
bot.AddPlugins(rp.Build())
}
@@ -52,16 +53,14 @@ func rpInfo(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
fmt.Sprintf("Привет, %s!", ctx.From.FirstName),
fmt.Sprintf("Выбранная вайфу: %s", waifu.Name),
fmt.Sprintf("Выбранный пресет: %s", "_TODO_"),
fmt.Sprintf("Выбранный сценарий: %s", "_TODO_"),
fmt.Sprintf("Твое описание персонажа: %s", rpUser.UserPrompt),
}
kb := laniakea.NewInlineKeyboard(1)
kb.AddCallbackButton("Статистика чата", "rp.tokens")
kb.AddCallbackButton("Сменить пресет", "rp.preset_list")
kb.AddCallbackButton("Выбрать сценарий", "rp.scenario_list")
kb.AddCallbackButton("Сменить вайфу", "rp.waifu_list")
kb.AddCallbackButton("Новый чат", "rp.new_chat")
kb.AddCallbackButton("Новый чат", "rp.scenario_list")
if ctx.CallbackMsgId > 0 {
ctx.EditCallback(strings.Join(out, "\n"), kb)
} else {
@@ -164,13 +163,13 @@ func rpScenarioList(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
kb := laniakea.NewInlineKeyboard(2)
for i, scenario := range scenarios {
out[i] = fmt.Sprintf("%d) *%s*\n%s\n", scenario.ID, scenario.Name, scenario.Description)
kb.AddCallbackButton(scenario.Name, "rp.scenario_set", scenario.ID)
kb.AddCallbackButton(scenario.Name, "rp.new_chat", scenario.ID)
}
kb.AddCallbackButton("Без сценария", "rp.new_chat", 0)
kb.AddLine()
kb.AddCallbackButton("На главную", "rp.info")
ctx.EditCallback(strings.Join(out, "\n"), kb)
ctx.EditCallback("Выбери сценарий"+strings.Join(out, "\n"), kb)
}
func rpScenarioSet(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {}
func chatStat(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
redisRpRep := red.NewRPRepository(db)
@@ -223,11 +222,12 @@ func newChat(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
ctx.Error(err)
return
}
if scenarioId > 0 {
rep := psql.NewRPRepository(db)
scenario, err := rep.GetScenario(scenarioId)
if err != nil {
if errors.Is(err, sql.ErrNoRows) {
ctx.Answerf("Сценарий %d не найден", scenarioId)
ctx.Answerf("Сценарий %d не найден", scenarioId)
} else {
ctx.Error(err)
}
@@ -238,6 +238,8 @@ func newChat(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
ctx.Error(err)
return
}
}
err = redisRpRep.SetCounter(ctx.FromID, waifuId, 0)
if err != nil {
ctx.Error(err)
@@ -248,7 +250,9 @@ func newChat(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
ctx.Error(err)
return
}
ctx.Answer("Был создан новый чат")
kb := laniakea.NewInlineKeyboard(2)
kb.AddCallbackButton("На главную", "rp.info").AddCallbackButton("Закрыть", "general.close")
ctx.EditCallback("Был создан новый чат", kb)
}
func rpUserPromptGet(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
@@ -455,3 +459,7 @@ func compress(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
}
m.Edit("Сжатие завершено")
}
func generalClose(ctx *laniakea.MsgContext, _ *laniakea.DatabaseContext) {
ctx.CallbackDelete()
}