Code Monkey home page Code Monkey logo

twym's Introduction

TwYM (Timer with Your Messages)
時間と想いを共有するタイマー

- about TwYM
IRC, twitter のメッセージを表示できるタイマーです。

- Environment
-- Mac OS X Lion, Snow Leopard 
--- Leopardでは動作すると思います。未確認です。 
--- Tigerでは動作しないと思います。未確認です。 
-- ruby 1.8.7
--- ruby1.9.X では動作しません。(本体およびnadokaが未対応)

- 使用している外部ライブラリのライセンスにも同意した上でご利用ください。
-- nadoka (IRC bot framework)
--- http://www.atdot.net/nadoka/nadoka.ja.html
-- ほか、gem パッケージ群

- Files
-- readme.txt
-- TwYM.qtz : Quartz Composer File (GUIフロントエンド)
-- TwYM.rb : TwYM.qtz へメッセージ文字列を送信
-- config.rb : 設定ファイル
-- Gemfile : bundler 設定ファイル
-- Gemfile.lock : bundler 設定ファイル
-- tuple_space.rb 中間キュー
-- ts_to_twim.rb 中間キューからQCへ送信するスクリプト
-- test_to_ts.rb 中間キューへテスト文字列を送信するスクリプト
-- twitter_to_ts.rb twitterから中間キューへ送信するスクリプト
-- twitter_oauth_authorize.rb twitter OAuth認証クラス
-- setup_nadoka.sh IRCライブラリ(nadoka)セットアップスクリプト
-- twymbot.nb nadokaから中間キューへ送信するnadoka bot設定ファイル
-- friendchart_nadokarc : nadoka 設定ファイルサンプル(friend-chat)
-- ustream_nadokarc : nadoka 設定ファイルサンプル(ustream)

- Install
-- 下記のコマンドで gemパッケージをインストールします。(必要に応じて sudo してください。)
--- $ gem install bundler
--- $ bundle install

-- IRC をメッセージを表示する場合
-- setup_nadoka.sh
 $ ./setup_nadoka.sh
実行すると、nadoka を 取得し、設定ファイルを配置します。

--- nadokarc を編集します。
下記の箇所を修正してください。
詳細はnadokaの説明書を参照してください。
動作しない場合、サンプルファイル *_nadokarc も参考にしてください。
                                   
  Servers = [
    { :host => 'chat1.ustream.tv', # IRC server address
      :port => (6667),                       # default: 6667
      :pass => 'passwd',                    # ustreamの場合はここにパスワードを指定
#      :pass => nil,                              # パスワード無しの場合
    }
  ]

...
  User     = 'twym'# IRC 内でのbotの名前(好きな名前でOKですが、ustreamの場合はuserIDを指定)
  Nick     = 'twym' # IRC 内でのbotの名前(好きな名前でOKですが、ustreamの場合はuserIDを指定)
...
  Channel_info = {
    '#genesislightningtalks' => { # channel名
      :timing  => :startup,
      :log     => '${setting_name}-nadoka-chan/%y%m%d.log',
    },
  }

- run
-- TwYM.qtz を起動します
-- 中間キューを起動します
 ターミナルから以下を起動します。
 $ ruby tuple_space.rb 
 druby://localhost:12555 と表示されればOKです。
-- 中間キュー→QC スクリプトを起動します
 別のターミナルから以下を起動します。
 $ ruby ts_to_twym.rb
-- テストスクリプトで中間キューに文字列を投げてみます。
 別のターミナルから以下を起動します。
 $ ruby test_to_ts.rb
   QC側に文字列が表示されればOKです。ctrl+c で停止します。
-- Twitterに接続する方法
 別のターミナルから以下を起動します。
 $ ruby twitter_to_ts.rb [検索語]
 例) $ ruby twitter_to_ts.rb iphone
※[検索語]を指定しない場合は、ソース内のHASHTAG で検索します。
 HASHTAG を上書きすることでも検索語を指定可能です。
-- 初回のOAuth認証
 初回起動時にOAuth認証を行います。
 ブラウザが起動してtwitterのOAuth認証画面が表示されますので、
 確認の上、allow を選択するとPIN番号(7桁数字)が表示されます。
 PIN番号をコンソールへ入力してください。
-- 別のアカウントでログインする場合
config_twitter_oauth_access_token.rb を削除してから、いつものように
 $ ruby twitter_to_ts.rb
を起動してください。

-- IRCに接続する方法
--- nadokaを起動します
 別のターミナルから以下を起動します。
 $ cd nadoka
 $ ruby nadoka.rb -r ../friendchat_nadokarc

- TwYM.qtz 操作方法
  Input Parameters を押すと時間設定、
  タイマーとコメントとSTAR機能の表示有無、
  メッセージ位置の調整などができます。
  主なショートカットキーは cmd+f で全画面化、
  cmd+. で停止、cmd+r で開始、cmd+t で設定画面 です。
  また、STAR機能が有効の場合は、★ or ☆ or * で星マーク(変更可能)が画面に表示されます。

- How is TwYM working?
--中間キュー -> QuartzComposer
UDP で通信しています。
ts_to_twym.rb が TwYM.rb を使ってQCへ送信しています。
-- IRC, twitter, test  -> 中間キュー
drb を使って通信しています。

- 表示されないコメントがある
  config.rb 
    TUPLE_AVAILAVLE_TIME = 30 #sec
TUPLE_AVAILAVLE_TIME 以上経過したコメントは破棄しています。
必要に応じて長さを変えてください。

- License
new BSD license

- About creator
igaiga [at] gmail.com
http://github.com/igaiga/TwYM
http://code.google.com/p/twym/
http://igarashikuniaki.net/tdiary/

イベントや勉強会などで使っていただけるとうれしいです。
使いました報告をもらえると小躍りして喜びます。ヽ(´▽`)ノ

- Contributer
-- @yoozoosato
-- @yamaguchiintlab
-- @june29
-- @kei_s
-- @mitaku
-- @sora_h
ご協力ありがとうございます。

- 今後やりたいこと
-- デザイン改良
-- gem対応
-- ruby1.9対応

- Version History
-- Ver.1.00 at Chicago Starbucks
--- 2011.10.27
キューの待ち個数に応じて表示時間を変更
twitter の仕様変更に伴い接続をSSLに変更
bundler対応

-- Ver.0.90
--- 2011.3.21
twitter データ取得をtwitter-streamライブラリを使うよう変更(取得漏れ対応)
(june29さんにご協力いただきました。ありがとうございました。)

-- Ver.0.81
--- 2010.8.14
twitter OAauth認証対応

-- Ver.0.80
--- 2010.3.28
メッセージ表示を140文字へ拡張
rbuconvを標準ライブラリnkfで置き換え
バグ修正
 QC で表示が黒帯になる問題修正
githubにリポジトリ作成

-- Ver.0.70
--- 2010.3.15
仕組みを全面更新
Rindaを使い中間キュー機能を実装
twitter機能追加
文字化けすることがあるバグを修正
qrzファイルをリファクタリング

-- Ver.0.60
--- 2009.8.1
STAR機能を追加
botファイルの名前を変更

-- Ver.0.50
--- 2009.4.19
仕組みを全面更新
表示まで最大20秒あった遅延を解消
QCへの受け渡しを yaml,rss からUDP通信に変更
$LOAD_PATH設定を追加

-- Ver.0.10
--- 2008.11.2
公開

twym's People

Contributors

igaiga avatar yoozoosato avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.