mirror of
https://github.com/c0re100/gotdlib.git
synced 2026-02-21 20:20:17 +01:00
Fix command parser
This commit is contained in:
parent
4b5b0a30a0
commit
23e26078e9
1 changed files with 12 additions and 24 deletions
|
|
@ -25,31 +25,19 @@ func IsCommand(text string) bool {
|
||||||
|
|
||||||
func CheckCommand(text string, entities []*TextEntity) string {
|
func CheckCommand(text string, entities []*TextEntity) string {
|
||||||
if IsCommand(text) {
|
if IsCommand(text) {
|
||||||
// Check text entities and make bot happy!
|
// e.g.: ["/hello@world_bot", "/hello@", "/hello@123"]
|
||||||
if len(entities) >= 1 {
|
// Result: "/hello"
|
||||||
// Get first command
|
if i := strings.Index(text, "@"); i != -1 {
|
||||||
if entities[0].Type.TextEntityTypeType() == "textEntityTypeBotCommand" {
|
return text[:i]
|
||||||
// e.g.: { "text": "/hello@world_bot", "textEntity": { offset: 0, length: 16 } }
|
|
||||||
// Result: "/hello"
|
|
||||||
if i := strings.Index(text[:entities[0].Length], "@"); i != -1 {
|
|
||||||
return text[:i]
|
|
||||||
}
|
|
||||||
return text[:entities[0].Length]
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Since userbot does not have bot command entities in Private Chat, so make userbot happy too!
|
|
||||||
// e.g.: ["/hello@world_bot", "/hello@", "/hello@123"]
|
|
||||||
// Result: "/hello"
|
|
||||||
if i := strings.Index(text, "@"); i != -1 {
|
|
||||||
return text[:i]
|
|
||||||
}
|
|
||||||
// e.g. ["/hello 123", "/hell o 123"]
|
|
||||||
// Result: "/hello", "/hell"
|
|
||||||
if i := strings.Index(text, " "); i != -1 {
|
|
||||||
return text[:i]
|
|
||||||
}
|
|
||||||
return text
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// e.g. ["/hello 123", "/hell o 123"]
|
||||||
|
// Result: "/hello", "/hell"
|
||||||
|
if i := strings.Index(text, " "); i != -1 {
|
||||||
|
return text[:i]
|
||||||
|
}
|
||||||
|
|
||||||
|
return text
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue