アプリケーションから Rocket.Chat のユーザーに対してダイレクトメッセージを送りたかったので、調べてみたら、REST API を使うことでできました。
使用した API の仕様は以下です。
例えば Windows の場合、以下のようなコマンドで動作を確認できました。
(ユーザー名の部分だけ変更してください。)
curl.exe -X POST^
-H "X-Auth-Token: <Token>"^
-H "X-User-Id: <User-Id>"^
-H "Content-type:application/json"^
http://rocketchat-url/api/v1/chat.postMessage^
-d "{\"channel\": \"@ユーザー名\", \"msg\": \"This is a direct message!\" }"
Token
と User-Id
は、マイアカウント > パーソナルアクセストークン から作成できます。
REST API の実行権限のあるアカウントで作成する必要があります。
メッセージの内容については上記の API 仕様を参照してください。
例えば、以下のようにして通知者名とアイコンを変更することができます。
curl.exe -X POST^
-H "X-Auth-Token: <Token>"^
-H "X-User-Id: <User-Id>"^
-H "Content-type:application/json"^
http://rocketchat-url/api/v1/chat.postMessage^
-d "{\"channel\": \"@ユーザー名\", \"msg\": \"This is a direct message!\", \"alias\": \"ほげ\", \"emoji\": \":thumbsup:\" }"