xmpp-2ch-checker

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

概要

python上で動作する、インスタントメッセンジャーボット型の2chリーダーです。

  • 指定したdatファイルを25秒おきに監視し、更新されているようなら差分を表示します。
  • あらかじめ指定しておいた板の中で、もっとも勢いのあるスレッドや最新のスレッドを抽出します。
xmpp-2ch-checker.png

動作環境

  • Python 2.5
  • xmpppy (+pydns)
  • XMPP(Jabber)のアカウント1つ

が必要です。Python + xmpppy が動作するのであればOSは問いませんが、起動用のシェルスクリプトはLinux用のものが同梱されています。

また、対話するためにIMクライアントが必要です。PidginやGoogleTalk?など。

詳解:XMPPボット-Python実行環境の準備

インストール・設定方法

tgzファイルを展開後、config.pyをテキストエディタで編集してください。

account = {} のセクションに、XMPP(Jabber)のアカウントを指定します。GoogleTalk?のアカウントも使えます。(その場合、Portは5223となります)

subjectTxtList? = {} のセクションに、各板のsubject.txt を列挙します。多すぎると recommend などを実行した際に時間がかかりますので、勢いのある板を4つ登録するぐらいにしておいた方が無難です。

2ch-checker-control.sh, loopexec.sh, xmpp-2ch-checker-bot.py にはそれぞれ実行パーミッションが必要です。

起動方法

xmpp-2ch-checker-bot.py をそのまま実行すると、フォアグラウンドで動作します。Ctrl+C で終了します。まずはフォアグラウンドで直接起動し、アカウント設定が会っているか確認してください。

バックグラウンドで動作させるには、

$ ./2ch-checker-control.sh start

とします。終了するには、 $ 2ch-checker-control.sh stop です。./2ch-checker-control.sh で起動した場合は、xmpp-2ch-checker-bot.py がクラッシュした場合でも強制的に再実行します。注意してください。

起動時の標準出力は execute.log に出ますので、動作がおかしい場合は確認してください。

使用方法(コマンド)

IMソフトウェアでボットのアカウントにコンタクトし、こちらから発言することで動作させます。

help

ヘルプを表示

stop

監視をストップ

stat

現在の状態を表示。取得メッセージ送信先、更新感覚、スレッドURLなど。

recommend

config.py の subjectTxtList? に指定してある板の中で、もっとも勢いのある(書き込み速度の速い)スレッドを抽出してdatファイルのURLを表示する。(上記のサンプル画像のような状態)

subjectTxtList? に登録してある量によりますが、取得に数秒かかります(newも同様)。気長に待ってください。

URLをコピーペーストでボットに通知し、監視を開始してください。

new

config.py の subjectTxtList? に指定してある板の中で、もっとも新しいスレッドを表示。 URLをコピーペーストでボットに通知し、監視を開始してください。

time

time [秒数] とすることで、更新感覚を指定。(例: time 60 →60秒間隔で監視する)

スレッド、もしくはDATファイルのURL

スレッドのURLもしくはDATファイルのURLを指定すると、そのURLの監視を開始します。

本アプリケーションは複数人数で使うことを想定していません。たとえば、アカウントAがあるスレッドの監視要求を行うと、本ボットはアカウントAに向けてのみ更新差分を通知します。その間、アカウントBより他のスレッドの監視要求を行った場合、本ボットはアカウントAに向けて行っていた動作を停止し、アカウントBに向けて更新情報を通知するようになります。

現在どのアカウントに向けて動作をしているかは、stat コマンドでチェックできます。

ダウンロード

http://ytyng.com/develop/xmpp-2ch-checker.100.tgz 5KB (v1.00)