Skip to content

takemar/mikuttdeck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

なんこれ

黒魔術を使ってUserStream亡き後のmikutterにリアルタイムっぽい更新を提供するプラグインです。

(ブラウザ自動化ツールSeleniumでTweetDeckを起動して、データを吸い上げてmikutterに提供します。あまり褒められたアレではないので、こっそり使ってください。)

使い方

プラグイン本体のインストール

$ mkdir -p ~/.mikutter/plugin; git clone https://github.com/takemar/mikuttdeck.git ~/.mikutter/plugin/mikuttdeck

bundle

追加のgemが必要です。mikutter.rbの存在するディレクトリでbundle installしてください。bundleでない方はgem install selenium-webdriverです。

ブラウザの準備

Seleniumで使えるようにブラウザを準備します。Google Chromeの場合はChromeDriver、Firefoxの場合はgeckodriverが必要です。Seleniumのドキュメントも参考にしてください。

有効にする

mikutterを起動すると、設定ダイアログにそれっぽい項目が現れます。ブラウザを指定してからチェックを入れてください。

ブラウザは"chrome"とか"firefox"てな感じで指定してください。(to_symしてSelenium::WebDriver.forに渡されます)

現状、ブラウザは起動直後にTweetDeckにログインした状態になっている必要があります。プロファイルとかをいい感じに弄ってうまくやってください。ごめんなさい。UserConfig[:mikuttdeck_selenium_option]を設定しておくとSelenium::WebDriver.forの第2引数に渡されます。

  • Fifefoxの場合、あらかじめabout:profilesで"mikutter"のような適当な名前でプロファイルを作っておいて、mikutterコンソール(Alt+xで開きます)からUserConfig[:mikuttdeck_selenium_option] = {profile: 'mikutter'}を実行します。
  • Google ChromeはoptionにSelenium由来のオブジェクトを渡す必要がありますが、こういうのをUserConfigに渡すのは禁止されているので、ダメです。mikutterコンソールから次を実行するととりあえず動く可能性があります(試していないのでわかりません)。
Plugin::Mikuttdeck::Deck.new(
  :chrome,
  desired_capabilities: Selenium::WebDriver::Remote::Capabilities.chrome(
    'chromeOption' => {
      'args' => ['--user-data-dir=/home/<username>/.confg/google-chrome/mikutter']
    }
  )
).start

その他

  • 人柱精神でおねがいします。
  • 現状Homeタイムラインのみ吸っています。とはいえさすがに通知くらいは対応したいですね。
  • 既知の問題として、mikutterの終了時にブラウザが終了しません。
  • とりあえず動くようにしたレベルなので、当面内部実装は非互換の変更の可能性があります。依存したプラグインを書いたりする場合は注意してください。
  • 内部ではGET statuses/lookupとかいうこんなことでもなければ使わなかったようなエンドポイントを呼んでいます。rate limitに注意。(なお、そういうわけでREST APIが死ぬと使えなくなります)
  • 具体的な挙動としては、TweetDeckからtweet_idのリストだけ吸い上げて、それをRESTに投げてPlugin::Twitter::Messageオブジェクトを得てupdateとかのイベントを発行しています。
  • 不具合報告はIssuesへどうぞ。 @[email protected] でも大丈夫です。
    • 報告の前に既に解消されていないか確認してください(cd ~/.mikutter/plugin/mikuttdeck; git pullで最新の不安定版を受け取れます)

About

mikutter TweetDeck plugin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published