IPMsg でコマンドラインからメッセージを送信する

IP Messenger(IPMsg) でコマンドラインからメッセージを送信する方法が結構便利で,ツールに組み込めば様々な通知 Bot として応用できる.

メッセージの送信方法は本当に簡単で /MSG パラメータに宛先の IP アドレスとメッセージを含めるだけで良い.もし IPMsg をデフォルト以外のポートで運用しているのであれば /MSG パラメータの前にポート番号を入れてあげれば良い.また自分宛に送るだけであれば,IP アドレスを localhost に変えても送れる.

"C:\Program Files\IPMsg\ipmsg.exe" /MSG xxx.xxx.xxx.xxx Hello!
"C:\Program Files\IPMsg\ipmsg.exe" 60000 /MSG xxx.xxx.xxx.xxx Hello!
"C:\Program Files\IPMsg\ipmsg.exe" /MSG localhost Hello!

この機能を簡易的な CI のビルド通知 Bot として運用することを想定して,Ant のビルドスクリプトから呼び出すこともできる.これだけでかなり Bot としての柔軟性が高まると思う.

<?xml version="1.0" encoding="UTF-8" ?>
<project name="IPMsg" default="main" basedir=".">
    <target name="main">
        <exec executable="C:\Program Files\IPMsg\ipmsg.exe">
            <arg line="/MSG xxx.xxx.xxx.xxx ビルドが異常終了しました!" />
        </exec>
    </target>
</project>

最後はおまけで,同僚の仕事の邪魔をしたいときは,Windows バッチファイルで for 文を回しながらメッセージを連発すると,相手は必ず驚くっていう(笑)

for %B IN (1,1,10) DO "C:\Program Files\IPMsg\ipmsg.exe" /MSG xxx.xxx.xxx.xxx Hello!