#yaya as saoriが必要 ##おそらくaya as saoriでも可能だと思います #dropbox上のファイルの先頭行にバージョンを数値のみで書いてください。書き換えられているのをゴーストが検知するとゴースト上のファイルが上書きされます。 ##例:201208190239 #ゴースト上で更新を連打するとエラーになります #設定項目か何かで自動更新するか否かをユーザにあらかじめ聞いておき、 #「TalkDL_Start」を30分に一回ぐらい実行するといいんじゃないんですかね ##いちおう、30分以上間隔をあけないと実行できないようにしていますが、処理に合わせて書き換えてください #下の2つの単語群の内容はそれぞれの環境に合わせて変えてください @トーク辞書名 dic999_talk_test.txt #dicで始まるファイル名にする、里々のルールと同じ @dropboxアドレス http://dl.dropbox.com/u/hogehoge/hugahuga.txt #パブリックフォルダ内にファイルを置いてください #パブリックフォルダ内であれば、階層が深くなっても大丈夫です #以下は使われている名前、もし被っていたら変えて下さい #TalkDL_Start #前回チェック日時 #チェック日時 #TalkDL_no #TalkDL_count #TalkDLComplete #ローカルファイル日付 #新規ファイル日付 #TalkDL_Copy #TalkDL_Delete #, (引数区切りとして) #TalkDL_End *TalkDL_Start $前回チェック日時 (if,(変数「チェック日時」の存在)==0,0,(チェック日時)) $チェック日時 (sprintf,%04d%02d%02d%02d%02d,(現在年),(現在月),(現在日),(現在時),(現在分)) $SAORI引数の計算 無効 >TalkDL_no (TalkDL_count)==1 $SAORI引数の計算 自動 \![execute,http-get,(dropboxアドレス),--async=TalkDL,--file=(トーク辞書名),--timeout=30,param--get] *TalkDL_no $SAORI引数の計算 自動 :前回のチェックから30分経っていません @TalkDL_count (if,(calc_float,(チェック日時)−(前回チェック日時))<30,1,0) *OnExecuteHTTPComplete >TalkDLComplete (R1)==TalkDL *OnExecuteHTTPFailure :\_q(R1)が失敗φ、(R4)\_q *TalkDLComplete $, (バイト値,2) $引数区切り追加 (,) $ローカルファイル日付 (if,(変数「新規ファイル日付」の存在)==0,0,(新規ファイル日付)) $新規ファイル日付 (yaya(,)fopen(,)../var/(トーク辞書名)(,)r) $新規ファイル日付 (yaya(,)fread(,)../var/(トーク辞書名)) $SAORI引数の計算 無効 >TalkDL_Copy (TalkDL_Check)==1 >TalkDL_Delete (TalkDL_Check)==0 @TalkDL_Check (if,(calc_float,(ローカルファイル日付)<(新規ファイル日付)),1,0) *TalkDL_Copy $SAORI引数の計算 自動 (nop,(yaya(,)fcopy(,)../var/(トーク辞書名)(,)../))(nop,(yaya(,)fclose(,)../var/(トーク辞書名)))(nop,(yaya(,)fdel(,)../var/(トーク辞書名)))(nop,(yaya(,)rmdir(,)../var/)) >TalkDL_End *TalkDL_Delete $SAORI引数の計算 自動 (nop,(yaya(,)fclose(,)../var/(トーク辞書名)))(nop,(yaya(,)fdel(,)../var/(トーク辞書名)))(nop,(yaya(,)rmdir(,)../var/)) $, $引数区切り追加 :更新なし *TalkDL_End $, $引数区切り追加 :更新完了