refactoring, fixes and laniakea v0.8

This commit is contained in:
2026-02-19 14:02:25 +03:00
parent 0804398b6c
commit c9a5a81643
30 changed files with 219 additions and 190 deletions

View File

@@ -2,19 +2,20 @@ package plugins
import (
"fmt"
"kurumibot/database/psql"
"kurumibot/utils"
"log"
"strconv"
"strings"
"time"
"ymgb/database"
"ymgb/database/psql"
"ymgb/utils"
"git.nix13.pw/scuroneko/extypes"
"git.nix13.pw/scuroneko/laniakea"
)
func RegisterWaifus(bot *laniakea.Bot) {
p := laniakea.NewPlugin("Waifus")
func RegisterWaifus() *laniakea.Plugin[database.Context] {
p := laniakea.NewPlugin[database.Context]("Waifus")
p.AddCommand(p.NewCommand(myWaifu, "mywaifu"))
p.AddCommand(p.NewCommand(myWaifu, "моивайфу").SkipCommandAutoGen())
@@ -33,10 +34,10 @@ func RegisterWaifus(bot *laniakea.Bot) {
p.AddPayload(p.NewCommand(waifuNotImplemented, "waifu.confirm_buy"))
p.AddPayload(p.NewCommand(waifuNotImplemented, "waifu.confirm_sell"))
bot.AddPlugins(p)
return p
}
func myWaifu(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
func myWaifu(ctx *laniakea.MsgContext, db *database.Context) {
userRep := psql.NewUserRepository(db)
user, err := userRep.GetOrCreate(ctx.FromID, ctx.From.FirstName)
if err != nil {
@@ -73,7 +74,7 @@ func myWaifu(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
}
}
func waifuList(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
func waifuList(ctx *laniakea.MsgContext, db *database.Context) {
rep := psql.NewWaifuRepository(db)
waifus, err := rep.GetAll()
if err != nil {
@@ -108,7 +109,7 @@ func waifuList(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
}
}
func waifuSell(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
func waifuSell(ctx *laniakea.MsgContext, db *database.Context) {
const CantSellWaifu = "Не удалось продать вайфу"
waifuId, err := strconv.Atoi(ctx.Args[0])
@@ -147,11 +148,11 @@ func waifuSell(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
ctx.Keyboard(strings.Join(out, "\n"), kb)
}
func buyWaifu(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
func buyWaifu(ctx *laniakea.MsgContext, db *database.Context) {
}
func waifuInfo(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
func waifuInfo(ctx *laniakea.MsgContext, db *database.Context) {
if len(ctx.Args) != 1 {
ctx.Answer("Не указан ID вайфу!")
return
@@ -198,7 +199,7 @@ func waifuInfo(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
ctx.AnswerCbQuery()
}
func waifuSearch(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
func waifuSearch(ctx *laniakea.MsgContext, db *database.Context) {
userRep := psql.NewUserRepository(db)
user, err := userRep.GetOrCreate(ctx.FromID, ctx.Msg.From.FirstName)
if err != nil {
@@ -265,7 +266,7 @@ func waifuSearch(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
}
}
func waifuNotImplemented(ctx *laniakea.MsgContext, _ *laniakea.DatabaseContext) {
func waifuNotImplemented(ctx *laniakea.MsgContext, _ *database.Context) {
kb := laniakea.NewInlineKeyboard(2).AddCallbackButton("Мои вайфу", "waifu.my").AddCallbackButton("Все вайфу", "waifu.list")
ctx.EditCallback("Данная функция ещё не реализована", kb)
}