2011年6月15日水曜日

あっぷえんじんでさくやさん!メモ

evernoteにかきなぐってるのをちょろっと抜粋するだけ。


定期処理では
前の発言時間からの差分、現在のintervalを計算する。インターバルが切れてれば実行。
毎ターン無条件処理が必要なのと、
実際の発言実行、タイプ傾向の変動などでパラメータを分ける。
前者はtwitbot_status
後者はtwitbot_paramsで管理。

発言時間ID 朝 昼前 昼 夕 夜 午前 午後 起きた後 寝る前 いぬさくやが起きてる時間
ポストタイプID 喜 怒 哀 楽 

・通常ポスト:何もしてない時。
  :::
  1:4::{p:head_nml}暇だわ。何か無いかしらね。
:発言時間ID。無指定時全体
:タイプID。無指定時ランダムで小変化
:次の発言まで最低限発言しない時間 [min]。無指定時30min±5minでランダム
:文章。textフォーマットに沿う。必須。


・イベントポスト:現在何してるかとも
10ケタ目まではランダム(20まで)。100ケタ目以上は状態ID。10000指定で終了。
  :::::
  503:7::::{p:head_nml}いぬさくやが飽き始めた{p:tale_wa}
  701:10000::::そろそろやめましょうかしら。
:イベントID:イベントID。状態ID*100+子ID[ランダム]。
:次の状態ID。無指定時現状維持
:無指定時5min±5minでランダムとなるが、nextid10000で通常と同様。
:文章だけど無指定可。nextid適用だけ行う。


・textフォーマット
{p:head_nml}今日は晴れてる{p:tale_wa}
・パーツフォーマット
head_nml:{あら、[70,]:はぁ、[10,]:あら、[,80]:はぁ、[,20]:[,]}
tale_wa:{わね![100,]:わ。[0,]:わねぇ[,80]:。[,100]:わね[,0]}

{}は分岐コロン区切り、[p1,p2]の傾向パラメタを代入。無記入は中間(50)明示
[この値*現在傾向]がmin,maxから離れるほど、乱数依存となる。
グラフにすっといい。1番近い点からの距離が遠いほど乱数的。
0で100%,50で0%の直線でいいかな・・・


・保持するもの
通常文章
イベント文章
文章パーツ
現在のイベントID(通常時Null)
タイプ傾向p1(喜怒),p2(哀楽)[0~100]喜楽が+
起きる時間,寝る時間

kind:twitbot_status
- string botname
  string 
  int trend_p1,trend_p2
  date time_awake,time_sleep
kind:twitbot_params
- int eventid
  int trend_p1,trend_p2
  date time_awake,time_sleep
kind:sentence_nml
- int timeid
  int typeid
  int interval
  string text
kind:sentence_ev
- int evid
  int nextid
  int timeid
  int typeid
  int interval
  string text
kind:sentence_parts
- string name
  string text

・現実的な実装手順
まず通常発言ありき。
次にパーツありき。

0 件のコメント:

コメントを投稿