@
yangyang2022 Shell 命令:
docker run --rm -v /volume1/docker/matrix-commander-new:/data:z matrixcommander/matrix-commander -m '这里填要发送的内容'
关键参数说明:
-v: 必需参数. 将包含 credentials.json 的文件夹映射到容器内的 /data 路径下. credentials.json 的内容:
{"homeserver": "http://<Synapse 容器地址及端口>", "device_id": "<设备 ID>", "user_id": "<要发送消息的账号完整 ID>", "room_id": "<承载消息的目标房间完整 ID>", "access_token": "要发送消息的账号的 token"}
如果你不想初始化, 可以直接从已经登录的客户端中照抄一份到上面的 JSON. 宿主机路径请酌情修改.
-m: 要发送的消息如果有换行不需要 "\n" 之类的转义, 直接在命令中使用回车键换行.
不推荐用 matrix-commander, 理由:
需要额外配置;
花在启动容器的时间就远远慢于直接用 curl;
除非要发送的内容不止纯文本.
----------
curl 版本 Shell 命令:
curl -H "Content-Type: application/json" -H "Authorization: Bearer <这里填账号的 token>" -s -X POST -d '{"msgtype": "m.text", "body": "这里填消息内容"}' "http://<Synapse 容器地址及端口>/_matrix/client/r0/rooms/<要发送消息的目标房间 ID>/send/m.room.message"
以上命令只适合纯文本内容. 要发送的消息如果有换行, 需要使用 "\u000a" 作为换行符.
----------
以上命令涉及到的容器 IP 地址使用的是内网 IP + 端口, 请酌情修改.