package plugins import ( "fmt" "runtime" "strings" "ymgb/database" "ymgb/utils" "git.nix13.pw/scuroneko/laniakea" ) 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()) 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 } return main } 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), } 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) } func generalClose(ctx *laniakea.MsgContext, _ *database.Context) { ctx.CallbackDelete() ctx.AnswerCbQuery() }