diff --git a/libmxclient/mxclientlib.go b/libmxclient/mxclientlib.go index b05a9bd..cfcf2a7 100644 --- a/libmxclient/mxclientlib.go +++ b/libmxclient/mxclientlib.go @@ -202,7 +202,7 @@ func apiv0_createclient_pass(mxpassfile_path *C.char, storage_path *C.char, url mxclient.OnEvent = client.OnEvent mxclient.OnMessage = client.OnMessage cclients = append(cclients, client) - out, err := json.Marshal(map[string]int{"id": len(cclients) - 1}) + out, err := json.Marshal(map[string]any{"id": len(cclients) - 1, "userid": client.UserID.String(), "deviceid": client.DeviceID.String()}) if err != nil { return C.CString(fmt.Sprintf("ERR: %v", err)) } diff --git a/smal/src/demobot/demobot.py b/smal/src/demobot/demobot.py index 882aa3b..47fb2de 100644 --- a/smal/src/demobot/demobot.py +++ b/smal/src/demobot/demobot.py @@ -29,9 +29,8 @@ class DemoBot(SMALBot): logger.error(f"not a room message: {msg}") return - if msg["sender"] == "get own id from missing code": + if msg["sender"] == self.UserID: # ignore own messages - # for now just do not send valid commands by yourself logger.info(f"ignore own message: {msg}") return diff --git a/smal/src/smal/pygomx.py b/smal/src/smal/pygomx.py index 2583f32..32b67a1 100644 --- a/smal/src/smal/pygomx.py +++ b/smal/src/smal/pygomx.py @@ -62,6 +62,8 @@ class _MXClient: result_dict = json.loads(result) self.client_id = result_dict["id"] + self.UserID = result_dict["userid"] + self.DeviceID = result_dict["deviceid"] def _sync(self): r = lib.apiv0_startclient(self.client_id)