diff options
Diffstat (limited to 'appservice/server.go')
-rw-r--r-- | appservice/server.go | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/appservice/server.go b/appservice/server.go index aa43935..d3ecb43 100644 --- a/appservice/server.go +++ b/appservice/server.go @@ -24,20 +24,24 @@ type Config struct { var registration *mxlib.Registration var config *Config +var mx *mxlib.Client + func Start(r *mxlib.Registration, c *Config) (chan error, error) { registration = r config = c + mx = mxlib.NewClient(c.Server, r.AsToken) + err := InitDb() if err != nil { return nil, err } - err = mxRegisterUser(registration.SenderLocalpart) + err = mx.RegisterUser(registration.SenderLocalpart) if mxe, ok := err.(*mxlib.MxError); !ok || mxe.ErrCode != "M_USER_IN_USE" { return nil, err } - err = mxProfileDisplayname(ezbrMxId(), fmt.Sprintf("Easybridge (%s)", EASYBRIDGE_SYSTEM_PROTOCOL)) + err = mx.ProfileDisplayname(ezbrMxId(), fmt.Sprintf("Easybridge (%s)", EASYBRIDGE_SYSTEM_PROTOCOL)) if err != nil { return nil, err } @@ -134,7 +138,7 @@ func handleTxnEvent(e *mxlib.Event) error { ev.Room = room.RoomID return acct.Conn.Send(ev) } else { - mxRoomKick(e.RoomId, e.Sender, fmt.Sprintf("Not present in %s on %s, please talk with Easybridge to rejoin", room.RoomID, room.Protocol)) + mx.RoomKick(e.RoomId, e.Sender, fmt.Sprintf("Not present in %s on %s, please talk with Easybridge to rejoin", room.RoomID, room.Protocol)) return fmt.Errorf("not joined %s on %s", room.RoomID, room.Protocol) } } else { @@ -146,7 +150,7 @@ func handleTxnEvent(e *mxlib.Event) error { if pm_room := dbIsPmRoom(e.RoomId); pm_room != nil { // If leaving a PM room, we must delete it them_mx := userMxId(pm_room.Protocol, pm_room.UserID) - mxRoomLeaveAs(e.RoomId, them_mx) + mx.RoomLeaveAs(e.RoomId, them_mx) db.Delete(pm_room) return nil } else if room := dbIsPublicRoom(e.RoomId); room != nil { @@ -157,7 +161,7 @@ func handleTxnEvent(e *mxlib.Event) error { return nil // TODO: manage autojoin list, remove this room } else { - mxRoomKick(e.RoomId, e.Sender, fmt.Sprintf("Not present in %s on %s, please talk with Easybridge to rejoin", room.RoomID, room.Protocol)) + mx.RoomKick(e.RoomId, e.Sender, fmt.Sprintf("Not present in %s on %s, please talk with Easybridge to rejoin", room.RoomID, room.Protocol)) return fmt.Errorf("not joined %s on %s", room.RoomID, room.Protocol) } } else { |