many changes
This commit is contained in:
@@ -17,10 +17,10 @@ import (
|
||||
|
||||
func RegisterAdmin() *laniakea.Plugin[database.Context] {
|
||||
p := laniakea.NewPlugin[database.Context]("Admin")
|
||||
p.AddCommand(laniakea.NewCommand(uploadPhoto, "uploadPhoto").SkipCommandAutoGen())
|
||||
p.AddCommand(laniakea.NewCommand(emojiId, "emojiId").SkipCommandAutoGen())
|
||||
p.AddCommand(laniakea.NewCommand(execSql, "sql").SkipCommandAutoGen())
|
||||
p.AddCommand(laniakea.NewCommand(test, "test").SkipCommandAutoGen())
|
||||
p.NewCommand(uploadPhoto, "uploadPhoto").SkipCommandAutoGen()
|
||||
p.NewCommand(emojiId, "emojiId").SkipCommandAutoGen()
|
||||
p.NewCommand(execSql, "sql").SkipCommandAutoGen()
|
||||
p.NewCommand(test, "test").SkipCommandAutoGen()
|
||||
|
||||
p.AddMiddleware(AdminMiddleware())
|
||||
return p
|
||||
@@ -75,7 +75,7 @@ func execSql(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
ctx.Error(err)
|
||||
return
|
||||
}
|
||||
ctx.Answerf("`%s`", data)
|
||||
ctx.AnswerfMarkdown("```json\n%s\n```", data)
|
||||
}
|
||||
|
||||
func emojiId(ctx *laniakea.MsgContext, _ *database.Context) {
|
||||
|
||||
@@ -13,8 +13,7 @@ import (
|
||||
|
||||
func RegisterAi() *laniakea.Plugin[database.Context] {
|
||||
p := laniakea.NewPlugin[database.Context]("AI")
|
||||
p.AddCommand(p.NewCommand(gptTest, "gpt").SkipCommandAutoGen())
|
||||
//p.AddCommand(p.NewCommand(gptTest, "gpt2").SkipCommandAutoGen())
|
||||
p.NewCommand(gptTest, "gpt").SkipCommandAutoGen()
|
||||
return p
|
||||
}
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
|
||||
func RegisterProxy() *laniakea.Plugin[database.Context] {
|
||||
p := laniakea.NewPlugin[database.Context]("Proxy")
|
||||
p.AddCommand(laniakea.NewCommand(getH2Link, "h2link"))
|
||||
p.AddCommand(laniakea.NewCommand(getProxy, "proxy"))
|
||||
p.NewCommand(getH2Link, "h2link")
|
||||
p.NewCommand(getProxy, "proxy")
|
||||
return p
|
||||
}
|
||||
|
||||
|
||||
@@ -17,22 +17,22 @@ import (
|
||||
|
||||
func RegisterEconomy(bot *laniakea.Bot[database.Context]) *laniakea.Plugin[database.Context] {
|
||||
p := laniakea.NewPlugin[database.Context]("Economy")
|
||||
p.AddCommand(p.NewCommand(profile, "profile"))
|
||||
p.AddCommand(p.NewCommand(profile, "профиль").SkipCommandAutoGen())
|
||||
p.AddCommand(p.NewCommand(work, "work"))
|
||||
p.AddCommand(p.NewCommand(work, "работать").SkipCommandAutoGen())
|
||||
p.AddCommand(p.NewCommand(collect, "collect"))
|
||||
p.AddCommand(p.NewCommand(collect, "собрать").SkipCommandAutoGen())
|
||||
p.AddCommand(p.NewCommand(code, "code"))
|
||||
p.AddCommand(p.NewCommand(code, "код").SkipCommandAutoGen())
|
||||
p.NewCommand(profile, "profile")
|
||||
p.NewCommand(profile, "профиль")
|
||||
p.NewCommand(work, "work")
|
||||
p.NewCommand(work, "работать")
|
||||
p.NewCommand(collect, "collect")
|
||||
p.NewCommand(collect, "собрать")
|
||||
p.NewCommand(code, "code")
|
||||
p.NewCommand(code, "код")
|
||||
|
||||
p.AddCommand(p.NewCommand(vacancies, "vacancies"))
|
||||
p.AddCommand(p.NewCommand(vacancies, "вакансии").SkipCommandAutoGen())
|
||||
p.AddCommand(p.NewCommand(getAJob, "getajob"))
|
||||
p.AddCommand(p.NewCommand(getAJob, "устроиться").SkipCommandAutoGen())
|
||||
p.NewCommand(vacancies, "vacancies")
|
||||
p.NewCommand(vacancies, "вакансии")
|
||||
p.NewCommand(getAJob, "getajob")
|
||||
p.NewCommand(getAJob, "устроиться")
|
||||
|
||||
p.AddCommand(p.NewCommand(aboutGroup, "group"))
|
||||
p.AddCommand(p.NewCommand(aboutGroup, "о группе").SkipCommandAutoGen())
|
||||
p.NewCommand(aboutGroup, "group")
|
||||
p.NewCommand(aboutGroup, "о группе")
|
||||
|
||||
bot.AddRunner(*laniakea.NewRunner[database.Context](
|
||||
"economy.PassiveIncome", passiveIncome,
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
|
||||
func RegisterFun() *laniakea.Plugin[database.Context] {
|
||||
p := laniakea.NewPlugin[database.Context]("Fun")
|
||||
p.AddCommand(p.NewCommand(beautyFont, "bf"))
|
||||
p.AddCommand(p.NewCommand(beautyFontHeart, "bfh"))
|
||||
p.NewCommand(beautyFont, "bf")
|
||||
p.NewCommand(beautyFontHeart, "bfh")
|
||||
return p
|
||||
}
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@ import (
|
||||
|
||||
func RegisterLogs() *laniakea.Plugin[database.Context] {
|
||||
p := laniakea.NewPlugin[database.Context]("Logs")
|
||||
p.AddCommand(p.NewCommand(getLogs, "logs").SkipCommandAutoGen())
|
||||
p.AddCommand(p.NewCommand(getMsgLogs, "msglogs").SkipCommandAutoGen())
|
||||
p.NewCommand(getLogs, "logs").SkipCommandAutoGen()
|
||||
p.NewCommand(getMsgLogs, "msglogs").SkipCommandAutoGen()
|
||||
p.AddMiddleware(AdminMiddleware())
|
||||
return p
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -14,32 +14,30 @@ func RegisterService() *laniakea.Plugin[database.Context] {
|
||||
p := laniakea.NewPlugin[database.Context]("service")
|
||||
p.AddPayload(p.NewCommand(generalClose, "general.close"))
|
||||
|
||||
p.AddCommand(p.NewCommand(about, "about"))
|
||||
p.AddCommand(p.NewCommand(about, "о боте").SkipCommandAutoGen())
|
||||
p.NewCommand(about, "about")
|
||||
p.NewCommand(about, "о боте")
|
||||
return p
|
||||
}
|
||||
|
||||
func about(ctx *laniakea.MsgContext, _ *database.Context) {
|
||||
formatVersion := func() string {
|
||||
parts := strings.Split(laniakea.VersionString, "-")
|
||||
main := parts[0]
|
||||
if len(parts) > 1 {
|
||||
beta := strings.Join(strings.Split(parts[1], "."), " ")
|
||||
return main + " " + beta
|
||||
v := fmt.Sprintf("%d.%d.%d", laniakea.VersionMajor, laniakea.VersionMinor, laniakea.VersionPatch)
|
||||
if laniakea.VersionBeta > 0 {
|
||||
v += fmt.Sprintf(" Beta %d", laniakea.VersionBeta)
|
||||
}
|
||||
return main
|
||||
return v
|
||||
}
|
||||
out := []string{
|
||||
fmt.Sprintf("Версия Go: %s", runtime.Version()[2:]),
|
||||
fmt.Sprintf("Версия Laniakea: %s", formatVersion()),
|
||||
fmt.Sprintf("Время сборки: %s", utils.BuildTime),
|
||||
fmt.Sprintf("Git хеш: %s", utils.GitCommit),
|
||||
fmt.Sprintf("*Версия Go*: %s", runtime.Version()[2:]),
|
||||
fmt.Sprintf("*Версия Laniakea*: %s", formatVersion()),
|
||||
fmt.Sprintf("*Время сборки*: %s", utils.BuildTime),
|
||||
fmt.Sprintf("*Git хеш*: %s", utils.GitCommit),
|
||||
}
|
||||
|
||||
kb := laniakea.NewInlineKeyboard(2)
|
||||
kb.AddUrlButtonStyle("Канал", laniakea.ButtonStylePrimary, "https://t.me/ym_gbot_news")
|
||||
kb.AddUrlButtonStyle("Чат", laniakea.ButtonStylePrimary, "https://t.me/ym_gbot_chat")
|
||||
ctx.Keyboard(strings.Join(out, "\n"), kb)
|
||||
ctx.KeyboardMarkdown(laniakea.EscapePunctuation(strings.Join(out, "\n")), kb)
|
||||
}
|
||||
|
||||
func generalClose(ctx *laniakea.MsgContext, _ *database.Context) {
|
||||
|
||||
@@ -2,7 +2,6 @@ package plugins
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
@@ -17,22 +16,22 @@ import (
|
||||
func RegisterWaifus() *laniakea.Plugin[database.Context] {
|
||||
p := laniakea.NewPlugin[database.Context]("Waifus")
|
||||
|
||||
p.AddCommand(p.NewCommand(myWaifu, "mywaifu"))
|
||||
p.AddCommand(p.NewCommand(myWaifu, "моивайфу").SkipCommandAutoGen())
|
||||
p.AddCommand(p.NewCommand(waifuList, "wlist"))
|
||||
p.AddCommand(p.NewCommand(waifuList, "waifulist"))
|
||||
p.AddCommand(p.NewCommand(waifuList, "влист").SkipCommandAutoGen())
|
||||
p.AddCommand(p.NewCommand(waifuList, "вайфулист").SkipCommandAutoGen())
|
||||
p.NewCommand(myWaifu, "mywaifu").SetDescription("Список твоих вайфу")
|
||||
p.NewCommand(myWaifu, "моивайфу")
|
||||
p.NewCommand(waifuList, "wlist").SetDescription("Список всех вайфу")
|
||||
p.NewCommand(waifuList, "waifulist").SkipCommandAutoGen()
|
||||
p.NewCommand(waifuList, "влист")
|
||||
p.NewCommand(waifuList, "вайфулист")
|
||||
|
||||
p.AddPayload(p.NewCommand(myWaifu, "waifu.my"))
|
||||
p.AddPayload(p.NewCommand(waifuList, "waifu.list"))
|
||||
p.AddPayload(p.NewCommand(waifuSell, "waifu.sell"))
|
||||
p.AddPayload(p.NewCommand(buyWaifu, "waifu.buy"))
|
||||
p.AddPayload(p.NewCommand(waifuInfo, "waifu.info"))
|
||||
p.AddPayload(p.NewCommand(waifuSearch, "waifu.search"))
|
||||
p.NewPayload(myWaifu, "waifu.my")
|
||||
p.NewPayload(waifuList, "waifu.list")
|
||||
p.NewPayload(waifuSell, "waifu.sell")
|
||||
p.NewPayload(buyWaifu, "waifu.buy")
|
||||
p.NewPayload(waifuInfo, "waifu.info")
|
||||
p.NewPayload(waifuSearch, "waifu.search")
|
||||
|
||||
p.AddPayload(p.NewCommand(waifuNotImplemented, "waifu.confirm_buy"))
|
||||
p.AddPayload(p.NewCommand(waifuNotImplemented, "waifu.confirm_sell"))
|
||||
p.NewPayload(waifuNotImplemented, "waifu.confirm_buy")
|
||||
p.NewPayload(waifuNotImplemented, "waifu.confirm_sell")
|
||||
|
||||
return p
|
||||
}
|
||||
@@ -58,7 +57,7 @@ func myWaifu(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
"Список твоих вайфу:",
|
||||
}
|
||||
for _, w := range waifus {
|
||||
s := fmt.Sprintf("*%s* из \"*%s*\" (%d☆, ID: %d)", w.Name, w.Fandom, w.Rarity, w.ID)
|
||||
s := fmt.Sprintf("*%s* из \"*%s*\" \\(%d☆, ID: %d\\)", w.Name, w.Fandom, w.Rarity, w.ID)
|
||||
out = append(out, s)
|
||||
kb.AddCallbackButton(w.Name, "waifu.info", w.ID)
|
||||
}
|
||||
@@ -68,9 +67,9 @@ func myWaifu(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
kb.AddLine()
|
||||
kb.AddCallbackButton("Все вайфу", "waifu.list")
|
||||
if ctx.CallbackMsgId > 0 {
|
||||
ctx.EditCallback(strings.Join(out, "\n"), kb)
|
||||
ctx.EditCallbackMarkdown(strings.Join(out, "\n"), kb)
|
||||
} else {
|
||||
ctx.Keyboard(strings.Join(out, "\n"), kb)
|
||||
ctx.KeyboardMarkdown(strings.Join(out, "\n"), kb)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +90,7 @@ func waifuList(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
} else {
|
||||
owner = w.Owner.Name
|
||||
}
|
||||
out[i] = fmt.Sprintf("*%s* из \"*%s*\" (%d☆, ID: %d) Владелец: *%s*", w.Name, w.Fandom, w.Rarity, w.ID, owner)
|
||||
out[i] = fmt.Sprintf("*%s* из \"*%s*\" \\(%d☆, ID: %d\\) Владелец: *%s*", w.Name, w.Fandom, w.Rarity, w.ID, owner)
|
||||
kb.AddCallbackButton(w.Name, "waifu.info", w.ID)
|
||||
}
|
||||
kb.AddLine()
|
||||
@@ -100,12 +99,12 @@ func waifuList(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
if ctx.CallbackMsgId > 0 {
|
||||
if len(ctx.Msg.Photo) > 0 {
|
||||
ctx.CallbackDelete()
|
||||
ctx.Keyboard(strings.Join(out, "\n"), kb)
|
||||
ctx.KeyboardMarkdown(strings.Join(out, "\n"), kb)
|
||||
} else {
|
||||
ctx.EditCallback(strings.Join(out, "\n"), kb)
|
||||
ctx.EditCallbackMarkdown(strings.Join(out, "\n"), kb)
|
||||
}
|
||||
} else {
|
||||
ctx.Keyboard(strings.Join(out, "\n"), kb)
|
||||
ctx.KeyboardMarkdown(strings.Join(out, "\n"), kb)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,8 +173,8 @@ func waifuInfo(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
out := []string{
|
||||
fmt.Sprintf("*%s* из \"*%s*\"", waifu.Name, waifu.Fandom),
|
||||
fmt.Sprintf("Редкость: %d☆", waifu.Rarity),
|
||||
fmt.Sprintf("Бонус к деньгам: x%.2f", waifu.MoneyBonus.InexactFloat64()),
|
||||
fmt.Sprintf("Бонус к опыту: x%.2f", waifu.ExpBonus.InexactFloat64()),
|
||||
laniakea.EscapePunctuation(fmt.Sprintf("Бонус к деньгам: x%.2f", waifu.MoneyBonus.InexactFloat64())),
|
||||
laniakea.EscapePunctuation(fmt.Sprintf("Бонус к опыту: x%.2f", waifu.ExpBonus.InexactFloat64())),
|
||||
fmt.Sprintf("Рыночная стоимость: %s¥", utils.DecimalComma(&waifu.MarketPrice)),
|
||||
}
|
||||
kb := laniakea.NewInlineKeyboard(2)
|
||||
@@ -191,10 +190,9 @@ func waifuInfo(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
kb.AddCallbackButton("Мои вайфу", "waifu.my")
|
||||
if len(waifu.Image) > 0 {
|
||||
ctx.CallbackDelete()
|
||||
log.Println(waifu.Image)
|
||||
ctx.AnswerPhotoKeyboard(waifu.Image, strings.Join(out, "\n"), kb)
|
||||
ctx.AnswerPhotoKeyboardMarkdown(waifu.Image, strings.Join(out, "\n"), kb)
|
||||
} else {
|
||||
ctx.EditCallback(strings.Join(out, "\n"), kb)
|
||||
ctx.EditCallbackMarkdown(strings.Join(out, "\n"), kb)
|
||||
}
|
||||
ctx.AnswerCbQuery()
|
||||
}
|
||||
@@ -209,7 +207,7 @@ func waifuSearch(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
|
||||
kb := laniakea.NewInlineKeyboard(2).AddCallbackButton("Мои вайфу", "waifu.my").AddCallbackButton("Все вайфу", "waifu.list")
|
||||
if time.Now().Before(user.WaifuSearchTime.Add(time.Hour * 4)) {
|
||||
ctx.EditCallback("Вайфу можно искать раз в 4 часа.", kb)
|
||||
ctx.EditCallback("Вайфу можно искать раз в 4 часа", kb)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -220,13 +218,13 @@ func waifuSearch(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
return
|
||||
}
|
||||
if count == 0 {
|
||||
ctx.EditCallback("Не осталось свободных вайфу... :(\nПопробуй позже или купи на рынке!", kb)
|
||||
ctx.EditCallbackMarkdown("Не осталось свободных вайфу… :\\(\nПопробуй позже или купи на рынке\\!", kb)
|
||||
return
|
||||
}
|
||||
|
||||
rand := utils.RandRange(0, 100)
|
||||
if 10 < rand && rand < 90 {
|
||||
ctx.EditCallback("Ты ничего не нашел!", kb)
|
||||
ctx.EditCallback("Ты ничего не нашёл\\!", kb)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -245,7 +243,7 @@ func waifuSearch(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
}
|
||||
|
||||
if len(freeWaifus) == 0 {
|
||||
ctx.EditCallback("Ты ничего не нашел!", kb)
|
||||
ctx.EditCallback("Ты ничего не нашёл\\!", kb)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -260,9 +258,9 @@ func waifuSearch(ctx *laniakea.MsgContext, db *database.Context) {
|
||||
fmt.Sprintf("Рыночная стоимость: %s¥", utils.DecimalComma(&waifu.MarketPrice)),
|
||||
}
|
||||
if len(waifu.Image) > 0 {
|
||||
ctx.AnswerPhoto(waifu.Image, strings.Join(out, "\n"))
|
||||
ctx.AnswerPhotoMarkdown(waifu.Image, strings.Join(out, "\n"))
|
||||
} else {
|
||||
ctx.EditCallback(strings.Join(out, "\n"), kb)
|
||||
ctx.EditCallbackMarkdown(strings.Join(out, "\n"), kb)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user