aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--account.go2
-rw-r--r--server.go27
2 files changed, 18 insertions, 11 deletions
diff --git a/account.go b/account.go
index 311b7de..732ff77 100644
--- a/account.go
+++ b/account.go
@@ -159,7 +159,7 @@ func LoadDbAccounts(mxid string, key *[32]byte) {
err = SetAccount(mxid, acct.Name, acct.Protocol, config)
if err != nil {
- ezbrSystemSendf("Could not setup account %s: %s", acct.Name, err.Error())
+ ezbrSystemSendf(mxid, "Could not setup account %s: %s", acct.Name, err.Error())
}
}
}
diff --git a/server.go b/server.go
index f11615e..79654c5 100644
--- a/server.go
+++ b/server.go
@@ -4,6 +4,7 @@ import (
"encoding/json"
"fmt"
"net/http"
+ "os"
"strings"
"github.com/gorilla/mux"
@@ -23,22 +24,28 @@ func StartAppService(errch chan error) error {
return err
}
- err = mx.RegisterUser(registration.SenderLocalpart)
- if mxe, ok := err.(*mxlib.MxError); !ok || mxe.ErrCode != "M_USER_IN_USE" {
- return err
- }
- if err == nil {
- // If Easybridge account was created, update avatar and display name
- err = mx.ProfileAvatar(ezbrMxId(), &connector.FileMediaObject{
- Path: config.AvatarFile,
- })
- if err != nil {
+ if dbKvGet("ezbr_initialized") != "yes" {
+ err = mx.RegisterUser(registration.SenderLocalpart)
+ if mxe, ok := err.(*mxlib.MxError); !ok || mxe.ErrCode != "M_USER_IN_USE" {
return err
}
+
+ _, st := os.Stat(config.AvatarFile)
+ if !os.IsNotExist(st) {
+ err = mx.ProfileAvatar(ezbrMxId(), &connector.FileMediaObject{
+ Path: config.AvatarFile,
+ })
+ if err != nil {
+ return err
+ }
+ }
+
err = mx.ProfileDisplayname(ezbrMxId(), fmt.Sprintf("Easybridge (%s)", EASYBRIDGE_SYSTEM_PROTOCOL))
if err != nil {
return err
}
+
+ dbKvPut("ezbr_initialized", "yes")
}
router := mux.NewRouter()