Skip to content

nobusue/HatenaKeywordBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

* はてなダイアリーから"Groovy"を含むエントリーを拾ってTwitterにつぶやくBot
 https://twitter.com/hatena_groovy

*バージョン履歴
 Ver 5: 2011/08/22 Gaelyk-1.0に移行
 Ver 4: 2010/09/05 OAuth対応
 Ver 1: 2009/08/31 first release

*作成者
 Nobuhiro Sue
  https://d.hatena.ne.jp/nobusue
  https://twitter.com/nobusue

* 環境
 Google AppEngine for Java (https://appengine.google.com/)
 Gaelyk(https://gaelyk.appspot.com/)
  注)kskyさんによる日本語訳 https://dl.getdropbox.com/u/132573/Gaelyk-Tutorial.html

* 依存ライブラリ
 GAEJ-1.5.2
 Gaelyk-1.0
 Groovy-1.8.1
 Twitter4j-2.2.4

* 作者よりひとこと
 あちこち不恰好なところが残っていて恥ずかしいのですが、参考になればと思い晒します。
 Gaelykの威力を目の当たりにして驚愕してください。

* 利用方法
 gradlew gaeRun		:ローカルサーバー起動
 gradlew gaeUpload	:GAEにデプロイ
 gradlew war			:war生成
 gradlew tasks		:タスク一覧

* 主要部分解説
[war/WEB-INF/groovy/getEntries.groovy]
 メインの処理を行っています。
 TwitterのOAuth設定は/WEB-INF/classes/twitter4j.propertiesに記述してください。
 11行目 参照するFeedを指定していますので、ここを変えれば他のFeedも監視できます。
 39行目 すでにつぶやき済みかどうかをチェックしています
 47-52行目 GAE DatastoreのLow Level APIを利用して、つぶやいたエントリを記録しています。
 60行目 簡易キーワードフィルターです。除外する単語を含むエントリをはねています。

[war/WEB-INF/pages/result.gtpl]
 getEntries.groovyの実行結果を表示します。

[war/WEB-INF/pages/entries.gtpl]
 つぶやき済みエントリの一覧を表示します。

[war/WEB-INF/cron.xml]
 GAE/J上で自動実行するための設定です。
 cronタスクを止めたいときは<cron>要素をコメントアウトしてください。

[war/WEB-INF/appengine-web.xml]
 GAE/Jの設定です。日本語はUTF-8で統一してあります。
 <application>と<version>は適宜指定してください。

* ToDo
- 複数キーワード対応
- フィルター機能をもうちょっと賢くする(ベイジアンフィルター化)
- 除外キーワードリストをWebからメンテナンス可能にする

以上

About

Twitter bot picking up specific keywords from Hatena dairy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published