IMボットで自動プッシュ型コミュニケーション

Last-modified: 2014-08-16 (土) 12:41:50 (1887d)

XMPP(Jabber)プロトコル*1上で動作するボットを作成します。

ボットはpythonで作成します。WindowsでもLinuxでも動きます。

もくじ

  1. XMPPボット-ejabberdサーバのインストール
  2. XMPPボット-ejabberd管理ページの操作 …ユーザーの追加
  3. XMPPボット-クライアントの導入 …Pidginのインストール
  4. XMPPボット-Python実行環境の準備 …xmpppy,pydnsをインストール、メッセージ送信スクリプトの作成
  5. XMPPボット-ボット雛形の作成 …入力メッセージをオウム返しするボット
  6. XMPPボット-ステータス返答ボットの作成 …ボット上でのOSコマンドの発行
  7. XMPPボット-ボット起動・停止用シェルスクリプトの作成 …ボット常駐用のコマンド
  8. XMPPボット-辞書ボットの作成
  9. XMPPボット-グループチャットボットの作成 …メーリングリストのIM版
  10. XMPPボット-メモボットの作成 …ただのメモツール。sqlite3使用。
  11. XMPPボット-リマインダーボットの作成 …特定時刻になったらメッセージを送信
  12. XMPPボット-2chリーダーの作成1 …2ch更新チェッカーモジュールの作成
  13. XMPPボット-2chリーダーの作成2 …XMPPボットへの組み込み
  14. XMPPボット-Twitterブリッジの作成 …Twitterへツイートの登録をするボット

はじめに

電子メールと並んでインターネット上のコミュニケーションツールとしてよく使われるのがIM(インスタントメッセンジャー)だと思います。PCのタスクトレイに常にIMクライアントソフトウェアが起動している方も多いでしょう。

今回は、このインスタントメッセンジャー用の自動応答ロボットを作成します。プログラムとして常駐し、何かメッセージが送信されるとそれに対応したメッセージを返信するアプリケーションです。

webほど高機能ではなく軽量で、かつsshよりも若干手軽。また他のサービスには無いIMの特徴として、抜群のリアルタイム性とプッシュ型のコミュニケーション能力があります。何かイベントを感知したり、指定時間になった場合に、自発的にユーザーに通知。電子メールよりもシンプルで手軽でわかりやすい。IMを使ったアプリケーションには、他サービスにはない魅力が多数あります。

IM用のプロトコルはXMPP(Jabbar)を使い、サーバも起動させます。オフィス無いのIMシステム構築にも使えると思います。

また、GoogleTalk?もXMPP上で動作しているため、これらボットはGoogleTalk?上でも動かすことが可能です。

参考サイト

xmpppy the jabber python project
Kawasaq通信  xmpppy を使って bot を作ろう!
Howto to Talk with GoogleTalk in Python on Jkx@home » Blog Archive
ejabberd の導入 - IM サーバーの構築 [Jabber] - 鯖たま

ありがとうございます。