package beaconfire
import (
"errors"
"fmt"
)
const (
BEACON_FMT_HTML = "html"
BEACON_FMT_MARKDOWN = "markdown"
BEACON_FMT_PLAIN = "plain"
)
var (
ErrNoReceiver = errors.New("no receiver")
)
type BeaconMessage struct {
Title string // Message Title
Content string // Message Content
Ts int64 //..
Fmt string
}
func NewBeaconMessage(title, content string, ts int64, fmt string) *BeaconMessage {
bp := &BeaconMessage{
Title: title,
Content: content,
Ts: ts,
Fmt: fmt,
}
return bp
}
func (bp BeaconMessage) FormatMarkdown() string {
return fmt.Sprintf("### %v\n> %v\n> %v", bp.Title, Ts2Str(bp.Ts), bp.Content)
}
func (bp BeaconMessage) FormatHTML() string {
return fmt.Sprintf("%v\n%v\n%v", bp.Title, Ts2Str(bp.Ts), bp.Content)
}
func (bp BeaconMessage) FormatPlainText() string {
return fmt.Sprintf("%v\n%v\n%v", bp.Title, Ts2Str(bp.Ts), bp.Content)
}
// Interface of BeaconFire
type BeaconFire interface {
Name() string
Send(*BeaconMessage) error
}