bump slog to v1.0.2
This commit is contained in:
2
go.mod
2
go.mod
@@ -3,7 +3,7 @@ module git.nix13.pw/scuroneko/laniakea
|
|||||||
go 1.25
|
go 1.25
|
||||||
|
|
||||||
require (
|
require (
|
||||||
git.nix13.pw/scuroneko/slog v1.0.0
|
git.nix13.pw/scuroneko/slog v1.0.2
|
||||||
github.com/redis/go-redis/v9 v9.17.3
|
github.com/redis/go-redis/v9 v9.17.3
|
||||||
github.com/vinovest/sqlx v1.7.1
|
github.com/vinovest/sqlx v1.7.1
|
||||||
go.mongodb.org/mongo-driver/v2 v2.5.0
|
go.mongodb.org/mongo-driver/v2 v2.5.0
|
||||||
|
|||||||
4
go.sum
4
go.sum
@@ -1,7 +1,7 @@
|
|||||||
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
|
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
|
||||||
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
|
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
|
||||||
git.nix13.pw/scuroneko/slog v1.0.0 h1:PI0YePrmCopjrljUfwCtBIEwNYB+PBgDzPcCXbetpcE=
|
git.nix13.pw/scuroneko/slog v1.0.2 h1:vZyUROygxC2d5FJHUQM/30xFEHY1JT/aweDZXA4rm2g=
|
||||||
git.nix13.pw/scuroneko/slog v1.0.0/go.mod h1:3Qm2wzkR5KjwOponMfG7TcGSDjmYaFqRAmLvSPTuWJI=
|
git.nix13.pw/scuroneko/slog v1.0.2/go.mod h1:3Qm2wzkR5KjwOponMfG7TcGSDjmYaFqRAmLvSPTuWJI=
|
||||||
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
|
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
|
||||||
github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
|
github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
|
||||||
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
|
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
|
||||||
|
|||||||
17
plugins.go
17
plugins.go
@@ -68,13 +68,13 @@ func (p *Plugin) ExecutePayload(payload string, ctx *MsgContext, dbContext *Data
|
|||||||
|
|
||||||
type Middleware struct {
|
type Middleware struct {
|
||||||
Name string
|
Name string
|
||||||
Executor *CommandExecutor
|
Executor CommandExecutor
|
||||||
Order int
|
Order int
|
||||||
Async bool
|
Async bool
|
||||||
}
|
}
|
||||||
type MiddlewareBuilder struct {
|
type MiddlewareBuilder struct {
|
||||||
name string
|
name string
|
||||||
executor *CommandExecutor
|
executor CommandExecutor
|
||||||
order int
|
order int
|
||||||
async bool
|
async bool
|
||||||
}
|
}
|
||||||
@@ -87,7 +87,7 @@ func (m *MiddlewareBuilder) SetName(name string) *MiddlewareBuilder {
|
|||||||
return m
|
return m
|
||||||
}
|
}
|
||||||
func (m *MiddlewareBuilder) SetExecutor(executor CommandExecutor) *MiddlewareBuilder {
|
func (m *MiddlewareBuilder) SetExecutor(executor CommandExecutor) *MiddlewareBuilder {
|
||||||
m.executor = &executor
|
m.executor = executor
|
||||||
return m
|
return m
|
||||||
}
|
}
|
||||||
func (m *MiddlewareBuilder) SetOrder(order int) *MiddlewareBuilder {
|
func (m *MiddlewareBuilder) SetOrder(order int) *MiddlewareBuilder {
|
||||||
@@ -98,19 +98,18 @@ func (m *MiddlewareBuilder) SetAsync(async bool) *MiddlewareBuilder {
|
|||||||
m.async = async
|
m.async = async
|
||||||
return m
|
return m
|
||||||
}
|
}
|
||||||
func (m *MiddlewareBuilder) Build() *Middleware {
|
func (m *MiddlewareBuilder) Build() Middleware {
|
||||||
return &Middleware{
|
return Middleware{
|
||||||
Name: m.name,
|
Name: m.name,
|
||||||
Executor: m.executor,
|
Executor: m.executor,
|
||||||
Order: m.order,
|
Order: m.order,
|
||||||
Async: m.async,
|
Async: m.async,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func (m *Middleware) Execute(ctx *MsgContext, db *DatabaseContext) {
|
func (m Middleware) Execute(ctx *MsgContext, db *DatabaseContext) {
|
||||||
exec := *m.Executor
|
|
||||||
if m.Async {
|
if m.Async {
|
||||||
go exec(ctx, db)
|
go m.Executor(ctx, db)
|
||||||
} else {
|
} else {
|
||||||
exec(ctx, db)
|
m.Execute(ctx, db)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
54
utils.go
54
utils.go
@@ -73,57 +73,3 @@ func EscapeMarkdownV2(s string) string {
|
|||||||
}
|
}
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetUnclosedTag(markdown string) string {
|
|
||||||
// order is important!
|
|
||||||
var tags = []string{
|
|
||||||
"```",
|
|
||||||
"`",
|
|
||||||
"*",
|
|
||||||
"_",
|
|
||||||
}
|
|
||||||
var currentTag = ""
|
|
||||||
|
|
||||||
markdownRunes := []rune(markdown)
|
|
||||||
|
|
||||||
var i = 0
|
|
||||||
outer:
|
|
||||||
for i < len(markdownRunes) {
|
|
||||||
// skip escaped characters (only outside tags)
|
|
||||||
if markdownRunes[i] == '\\' && currentTag == "" {
|
|
||||||
i += 2
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if currentTag != "" {
|
|
||||||
if strings.HasPrefix(string(markdownRunes[i:]), currentTag) {
|
|
||||||
// turn a tag off
|
|
||||||
i += len(currentTag)
|
|
||||||
currentTag = ""
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for _, tag := range tags {
|
|
||||||
if strings.HasPrefix(string(markdownRunes[i:]), tag) {
|
|
||||||
// turn a tag on
|
|
||||||
currentTag = tag
|
|
||||||
i += len(currentTag)
|
|
||||||
continue outer
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
i++
|
|
||||||
}
|
|
||||||
|
|
||||||
return currentTag
|
|
||||||
}
|
|
||||||
func IsValid(markdown string) bool {
|
|
||||||
return GetUnclosedTag(markdown) == ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func FixMarkdown(markdown string) string {
|
|
||||||
tag := GetUnclosedTag(markdown)
|
|
||||||
if tag == "" {
|
|
||||||
return markdown
|
|
||||||
}
|
|
||||||
return markdown + tag
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user