通知の必要なスクリプトとTwitterを連携するためにTTYtterを導入してみた。
aptでインストールできる。
$ sudo aptitude install ttytter
初めて使うときにOAuth認証が行われる。SSLが必須なのでsslオプションを指定する。
$ ttytter -ssl
URLが表示される
1. Visit, in your browser, ALL ON ONE LINE, https://api.twitter.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ブラウザでURLに接続する。ログインして、連携アプリを認証すると、数字が表示される。この数字を入力する。
5. A PIN will appear. Enter it below. Enter PIN>0123456
認証は完了。もう一度実行するとタイムラインが表示される。
コマンドラインから簡単にツイートできる。
$ ttytter -ssl -status="<ツイートする内容>"
改行は使用できない。文字数を超えてしまうと失敗する。autosplitオプションで自動分割される。
$ ttytter -ssl -autosplit -status="<ツイートする内容>"
~/.ttytterrcで初期設定を保持できる。sslオプションを省略するには~/.ttytterrcを次のようにする。
vi ~/.ttytterrc ssl=1
sslオプションを指定しなくてもSSLで通信するようになる。
開発アカウント以外で面倒な別アカウントのアクセストークンの取得をttytterで行う。
$ ttytter -ssl -oauthwizard -keyf=./<出力先ファイル> -oauthkey=<ConsumerKey> -oauthsecret=<ConsumerSecret>
oauthwizardオプションでOAuth認証が行われる。オプションで出力先ファイル、ConsumerKey、ConsumerSecretを指定している。出力先にディレクトリが含まれないと~/.ttytterkey<ファイル名>に出力される。
アクセストークンを確認する。
$ cat <出力先ファイル> ck=X&cs=X&at=<AccessToken>&ats=<AccessTokenSecret>
takaaki 4月 12th, 2015
TwitterクライアントJanetterはメモリ食いでメモリ消費が2GBに上ることがある。このため定期的に再起動する必要があるという。これを自動化する。自動化のためにバッチファイル、VBS、タスクスケジューラを使った。
まず、メモリ使用量に応じて再起動させるバッチファイルを作成する。テキストエディタで次のように記述する。XP Pro、Vista以降で使えるコマンドを使っているのでXP Homeでは動かない。(tasklist,taskkill)
@echo off
rem 終了させるプログラムの名前(拡張子は付けない)
set AppName=Janetter
rem 終了させるプログラムのフォルダ
set AppFolder=C:\Program Files (x86)\Janetter\bin
rem 終了させるメモリ使用量(kB)
set MaxMemUsage=300000
rem プログラムが起動しているかチェック
tasklist /fi "memusage ge %MaxMemUsage%" | find /i "%AppName%"
rem 起動していない場合、処理を終了
if errorlevel 1 goto end
:kill
rem プログラムを終了させる
rem タスクトレイにアイコンが残るので/fオプションは使用しない
taskkill /im %AppName%.exe
rem 終了確認
tasklist | find /i “%AppName%”
rem 終了していない場合、再度実行
if not errorlevel 1 goto kill
rem プログラムを起動する
cd %AppFolder%
start %AppName%.exe
:end
テキストエディタで上のスクリプトを記述し、変数の値を環境に合わせて変更する。
通常、Janetter.exeのあるフォルダは
となる。
拡張子をbatにして保存する。
追記(2011/7/21):挙動が怪しいのでJanetterServ.exeの終了も待つように変更
takaaki 5月 23rd, 2011
Posted In: ソフトウェア