lightningtipbot/pkg/lightning/lightning.go
LightningTipBot 09d3af411e
Better longging 1337 (#206)
* speed up tx lock

* better logging and lnurl lightning: prefix

Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
2021-12-24 15:34:17 +01:00

36 lines
905 B
Go

package lightning
import (
"net/mail"
"strings"
)
// IsInvoice is used to check if a string matches lnbc invoide pattern.
// todo -- probably should add regex and validate length
func IsInvoice(message string) bool {
message = strings.ToLower(message)
// invoice string must start with lnbc or lightning:lnbc
if strings.HasPrefix(message, "lnbc") || strings.HasPrefix(message, "lightning:lnbc") {
// invoice string must be a single word
if !strings.Contains(message, " ") {
return true
}
}
return false
}
func IsLnurl(message string) bool {
message = strings.ToLower(message)
if strings.HasPrefix(message, "lnurl") || strings.HasPrefix(message, "lightning:lnurl") {
// string must be a single word
if !strings.Contains(message, " ") {
return true
}
}
return false
}
func IsLightningAddress(address string) bool {
_, err := mail.ParseAddress(address)
return err == nil
}