+ else if (CheckCommand(cmd, "save")) {\r
+ CHECK_ARGS(1, "<filename>")\r
+\r
+ MatrixClientSave(client, args[0]);\r
+ }\r
+ else if (CheckCommand(cmd, "load")) {\r
+ CHECK_ARGS(1, "<filename>")\r
+\r
+ MatrixClientLoad(client, args[0]);\r
+ }\r
+ else if (CheckCommand(cmd, "send")) {\r
+ CHECK_ARGS(2, "<room_id> <message>")\r
+\r
+ static char body[1024];\r
+ snprintf(body, 1024,\r
+ "{\"body\":\"%s\",\"msgtype\":\"m.text\"}",\r
+ args[1]);\r
+\r
+ MatrixClientSendEvent(client,\r
+ args[0],\r
+ "m.room.message",\r
+ body);\r
+ }\r
+ else if (CheckCommand(cmd, "setuserid")) {\r
+ CHECK_ARGS(1, "<user_id>")\r
+\r
+ MatrixClientSetUserId(client, args[0]);\r
+ }\r
+ else if (CheckCommand(cmd, "getuserid")) {\r
+ printf("User ID: %s\n", client->userId);\r
+ }\r
+ else if (CheckCommand(cmd, "sendencrypted")) {\r
+ CHECK_ARGS(2, "<room_id> <message>")\r
+\r
+ static char body[1024];\r
+ snprintf(body, 1024,\r
+ "{\"body\":\"%s\",\"msgtype\":\"m.text\"}",\r
+ args[1]);\r
+\r
+ MatrixClientSendEventEncrypted(client,\r
+ args[0],\r
+ "m.room.message",\r
+ body);\r
+ }\r
+ else if (CheckCommand(cmd, "sharesession")) {\r
+ CHECK_ARGS(2, "<user_id> <device_id>")\r
+\r
+ MatrixClientShareMegolmOutSession(&client,\r
+ args[0],\r
+ args[1],\r
+ &client->megolmOutSessions[0]);\r
+ }\r
+ else if (CheckCommand(cmd, "savesession")) {\r
+ CHECK_ARGS(2, "<filename> <key>")\r
+\r
+ MatrixMegolmOutSessionSave(\r
+ &client->megolmOutSessions[0],\r
+ args[0],\r
+ args[1]);\r
+ }\r
+ else if (CheckCommand(cmd, "loadsession")) {\r
+ CHECK_ARGS(2, "<filename> <key>")\r
+\r
+ MatrixMegolmOutSessionLoad(\r
+ &client->megolmOutSessions[0],\r
+ args[0],\r
+ args[1]);\r
+ }\r
+#undef CHECK_ARGS\r