many changes
This commit is contained in:
@@ -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