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