ジョンぼっと

概要

  • ジョンぼっとです!(謎)
  • ジョンはタイビィの師匠です(謎)
  • リアルでかまってくれる人がいないから作った(

機能

コマンド

  • ふぁぼ(ふぁぼって)
    ふぁぼ(@ついった名,数)
    例:@john___bot ふぁぼ(@tiby_and_john,30)
    コンマの後は半角スペース一ついれてもおk。セミコロンはいりませぬ。かっこは半角。
    数は1〜50まで。0とか51以上にすると怒られる。
    ついったーAPI的には200までいけるっぽいけど50で自重。
    さあれっつ厄介☆
  • あんふぁぼ(あんふぁぼって)
    あんふぁぼって(@ついった名,数)
    ふぁぼコマンドと同じ。
  • 呼んで(よんで)
    呼んで(@ついった名,名前)
    例:@john___bot 呼んで(@tiby_and_john,タイビィ)
    ジョンはフォロワーをニックネームで呼びます。
    このコマンドでニックネーム決められる。もちろん自分以外も。
  • 覚えて(おぼえて)
    覚えて(言葉,それにたいする返事)
    例:@john___bot 覚えて(あずにゃん,マジ天使)
    この後ジョンに @john___bot あずにゃん とリプを送るとマジ天使と返してくれます。
    ぼくはりっちゃん推しです。
    ひとつの言葉に複数のリプパターンを登録できます。
    例に加えて @john___bot 覚えて(あずにゃん,ごきにゃん) とリプ送ると、
    次以降マジ天使とごきにゃんからランダムに選んで返してくれます。
  • 忘れて(わすれて)
    忘れて(言葉,それにたいする返事)
    例:@john___bot わすれて(あずにゃん,ごきにゃん)
    あずにゃんがごきにゃんなんて許せない!っていう人のために。
    ジョンの記憶から消し去ります。ただし登録されてない言葉や返事を指定してもアレです。

名状しがたいマルコフ連鎖のようなもの

フォロワーのつぶやきを拾っててきとーに再構成してつぶやきます。

診断メーカー

フォロワーが遊んだ診断メーカーをジョンもやっちゃったりします。

ぱくる

パクリとかぱくるとかいう文字列の入ったついーとをぱくります。

ふぁぼれよ

ふぁぼれよってリプ送るとふぁぼってくれます。
垢消せって言っても垢は消さない。

ぼっとに対するリプライに反応

リプ送ると反応してくれます。空リプにも反応。

TL上の特定の言葉に反応

ぶっちゃけ厄介。StSに媚びてる←

製作

ひな形

PHP+OAuthでTwitterのBotを作ってみるを参照しました。
ここで公開されてるライブラリとかを活用。

コマンドとか

フォロワー毎にファイルを作成。そこにニックネームとかを保存してる。 応用するとフォロワー毎に好感度振って反応の冷たさを変えたりできそう

マルコフ連鎖的なアレ

  • 形態素解析 yahooAPIのこれを使用。yahooさんに文送ると解析して返してくれる。
  • 文の作り方
    解析して返ってきた文、例えば(私/は/ジョン/です/。)(彼/は/タイビィ/の/師匠/です/。)を例に。
    _BEGIN_私_AND_は_AND_ジョン 
    は_AND_ジョン_AND_です    
    ジョン_AND_です_。_END_   
    
    _BEGIN_彼_AND_は_AND_ジョン 
    は_AND_ジョン_AND_の     
    ジョン_AND_の_AND_師匠    
    の_AND_師匠_AND_です     
    師匠_ANDです_AND_。_END_   
    
    って感じに要素分けしてファイルに保存。数字は今便宜的につけただけで実際にはふられない。
    
    _BEGIN_から始まるものをランダムに選ぶ。い鯀んだとする。
    この要素の2番目、3番目は は_AND_ジョン
    
    次に、要素の1番目、2番目が は_AND_ジョン であるような要素を選ぶ。
    この場合あてはまるのは△イ如↓△鯀んだとする。
    この要素の2番目、3番目は ジョン_AND_です
    
    次に、要素の1番目、2番目が は_AND_ジョン であるような要素を選ぶ。
    この場合あてはまるのはのみ。
    は最後に_END_がついていて、これが文の最後のサインになっている。
    
    そしてき↓キからいらんとこをはぶいて、最終的に「彼はジョンです。」という新しい文を生成する。

診断メーカー

しろくま長男BOT改造日誌を参考。 httpをhttpsにしたら動いた。もしかしたらツイッターの設定のHTTPSのみのところにチェック入れてるからかもしれない。このへんよくわかんにゃい。

修正したとことか

sinceが空だったときのために、if($timeline) $Bot->END("Since",$sid); に修正。

環境

  • PHP5
  • さくらのレンタルサーバ

その他

  • cronで動かす場合はソースコードの方全部フルパスで
  • PHPのセーフモードはデフォではOFFになってたけどONにするとファイル作ったりできなくなるかも

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-07-02 (月) 02:09:58 (2352d)