package message import ( "local/truckstop/config" "log" "github.com/matrix-org/gomatrix" ) type Matrix struct { mock bool homeserver string username string token string room string } func NewMatrix() Matrix { conf := config.Get().Message.Matrix return Matrix{ homeserver: conf.Homeserver, username: conf.Username, token: conf.Token, room: conf.Room, mock: conf.Mock, } } func (m Matrix) client() (*gomatrix.Client, error) { return gomatrix.NewClient(m.homeserver, m.username, m.token) } func (m Matrix) Send(text string) error { if m.mock { log.Printf("matrix.Send(%s)", text) return nil } c, err := m.client() if err != nil { return err } _, err = c.SendText(m.room, text) return err }