Add easybridge account config widget in system rooms

This commit is contained in:
Alex 2020-02-28 17:32:09 +01:00
parent 3bb8a78d07
commit 3880bd1701
2 changed files with 20 additions and 1 deletions

View file

@ -18,6 +18,7 @@ type ConfigFile struct {
LogLevel string `json:"log_level"`
ASBindAddr string `json:"appservice_bind_addr"`
WebBindAddr string `json:"web_bind_addr"`
WebURL string `json:"web_url"`
Registration string `json:"registration"`
Server string `json:"homeserver_url"`
DbType string `json:"db_type"`

20
util.go
View file

@ -20,7 +20,25 @@ func ezbrMxId() string {
}
func ezbrSystemRoom(user_mx_id string) (string, error) {
return dbGetMxPmRoom(EASYBRIDGE_SYSTEM_PROTOCOL, UserID("Easybridge"), ezbrMxId(), user_mx_id, "easybridge")
mx_room_id, err := dbGetMxPmRoom(EASYBRIDGE_SYSTEM_PROTOCOL, UserID("Easybridge"), ezbrMxId(), user_mx_id, "easybridge")
if err != nil {
return "", err
}
widget_kv_key := "ezbr_widget_on:" + mx_room_id
if config.WebURL != "" && dbKvTestAndSet(widget_kv_key, "yes") {
widget := map[string]interface{}{
"type": "m.easybridge",
"url": config.WebURL,
"name": "Easybridge account configuration dashboard",
}
err = mx.PutStateAs(mx_room_id, "im.vector.modular.widgets", "ezbr_widget", widget, ezbrMxId())
if err != nil {
dbKvPut(widget_kv_key, "")
}
}
return mx_room_id, nil
}
func ezbrSystemSend(user_mx_id string, msg string) {