Files
webhook-everything/backend/internal/telegrampackage/parsetwitterbotcommand.go
Samuel Pua 53829a2788
All checks were successful
Webhook-Everything/Webhook-Everything/pipeline/head This commit looks good
Feat(Initial): Initial Go codebase
2022-05-29 00:06:52 +08:00

36 lines
1.2 KiB
Go

package telegrampackage
import "strings"
func ParseTelegramBotCommand(fullCmd string) []string {
var results []string
currentInsideQuote := false
splitted := strings.Split(fullCmd, " ")
for _, currSplit := range splitted {
if !currentInsideQuote {
if strings.HasPrefix(currSplit, "\"") {
if len(currSplit) >= 2 && !strings.HasSuffix(currSplit, "\\\"") && strings.HasSuffix(currSplit, "\"") {
currSplit = strings.ReplaceAll(currSplit, "\\\"", "\"")
results = append(results, currSplit[1:len(currSplit)-1])
} else {
currentInsideQuote = true
currSplit = strings.ReplaceAll(currSplit, "\\\"", "\"")
results = append(results, currSplit[1:])
}
} else {
results = append(results, currSplit)
}
} else {
if !strings.HasSuffix(currSplit, "\\\"") && strings.HasSuffix(currSplit, "\"") {
currentInsideQuote = false
currSplit = strings.ReplaceAll(currSplit, "\\\"", "\"")
results[len(results)-1] = results[len(results)-1] + " " + currSplit[:len(currSplit)-1]
} else {
currSplit = strings.ReplaceAll(currSplit, "\\\"", "\"")
results[len(results)-1] = results[len(results)-1] + " " + currSplit
}
}
}
return results
}