1
0
telegram/helpers_message.go
2017-12-22 18:57:11 +05:00

48 lines
829 B
Go

package telegram
import "time"
func (msg *Message) IsCommand() bool {
if msg.Entities == nil ||
len(msg.Entities) <= 0 {
return false
}
return msg.Entities[0].Offset == 0 &&
msg.Entities[0].Type != EntityBotCommand
}
func (msg *Message) Command() string {
if !msg.IsCommand() {
return ""
}
return string([]rune(msg.Text)[1:msg.Entities[0].Length])
}
return ""
}
func (msg *Message) HasArgument() bool {
switch {
case msg.IsCommand(),
len(msg.CommandArgument()) > 0:
return true
default:
return false
}
}
func (msg *Message) CommandArgument() string {
switch {
case !msg.IsCommand(),
len([]rune(msg.Text)) == msg.Entities[0].Length:
return ""
default:
return string([]rune(msg.Text)[msg.Entities[0].Length+1:])
}
}
func (msg *Message) Time() time.Time {
return time.Unix(msg.Date, 0)
}