gotdlib/client/extra.go
2025-09-02 18:58:30 +08:00

54 lines
945 B
Go

package client
import (
"strings"
"github.com/google/uuid"
)
type ExtraGenerator func() string
func UuidV4Generator() ExtraGenerator {
return func() string {
return uuid.NewString()
}
}
func IsCommand(text string) bool {
if i := strings.Index(text, "/"); i == 0 {
return true
}
return false
}
func CheckCommand(text string, entities []*TextEntity) string {
if IsCommand(text) {
cmd := text
// e.g. ["/hello 123", "/hell o 123"]
// Result: "/hello", "/hell"
if i := strings.Index(cmd, " "); i != -1 {
cmd = cmd[:i]
}
// e.g.: ["/hello@world_bot", "/hello@", "/hello@123"]
// Result: "/hello"
if i := strings.Index(cmd, "@"); i != -1 {
cmd = cmd[:i]
}
return cmd
}
return ""
}
func CommandArgument(text string) string {
if IsCommand(text) {
// e.g. ["/hello 123", "/hell o 123"]
// Result: "123", "o 123"
if i := strings.Index(text, " "); i != -1 {
return text[i+1:]
}
}
return ""
}