|
|
||
いろんな機能を追加してます。
あまり手の内をあかすと逆につまらなくなっちゃうので、この辺から推測して色々試してみてください。
http://twitter.1x1.jp/search/?source=&keyword=exsoy_bot
ちなみにexsoy_botを作るにあたって、exsoyと旧exsoyのtwitterページをスクレイピングしてコーパスを作りました。何かの役に立つかもしれないので、コードを載せておきます。途中でタイムアウトした場合の例外処理はしてないので、そのときはpageをいじって切れたところからやりなおせばいいと思います。
それにしてもhpricot便利!
require 'rubygems' require 'hpricot' require 'open-uri' $twitter_id = 'exsoy' $export_file = 'exsoy.txt' def scrape(page) doc = Hpricot( open("http://twitter.com/#{$twitter_id}?page=#{page}").read ) flag = false open($export_file,'a') do |z| (doc/"td.content").each do |td| entry = href = published = reply = '' (td/"span.entry-content").each do |span| entry = span.inner_html.gsub(/<.+?>/,'').strip end (td/"a.entry-date").each do |a| href = a[:href].strip end (td/"abbr.published").each do |abbr| published = abbr[:title].strip end (td/"a[text()*='in reply to']").each do |a| reply = a[:href].strip end z.puts [entry, href, published, reply].join("\t") flag = true end end flag end page = 0 while scrape(page+=1) puts page end
exsoyがあまりにもかわいくて……かわいくて……かわいくて……作ってしまったよ!
とりあえずfollowする(しなくてもいいけど、返信がわからんので)
そして、
@exsoy_bot おはよう
とか書くと、愛らしく返答してくれるよ。
初めてのreplyに対して、follow返しとはじめましての挨拶をしてくれる。
現在のところ対応してるのは、
です。
適当に判定してるので、「@exsoy_bot おはー」とか「@exsoy_bot ただいもー」とかでも対応してくれるよ。(逆に言うと誤判定しまくるよ)
あとは、オススメのマンガとか聞いてみるといいんじゃないかな。
とりあえず動けばいいやということで、やっつけすぎるソースになっちゃった。
語彙はtwitter検索を使い、半自動で収集。いまのところそれぞれが50フレーズ近くあります。
レンタルサーバとかでなく自前のPCで動かしてるので、いきなり動かなくなったりするかも。
botだからといって、心ない言葉を投げかけちゃ、ダメ絶対!
本物のexsoyだと思って、可愛がってやってください。
口は災いの元、適当につぶやいたらオフをやることになってました。
ついったー忘年会みたいな大人数とか無理だよ!という肝っ玉の小さい人たちのためのオフです。
内容:@ka_o_ri不在の誕生会
日程:12/15(土曜)18時~
集合場所:17:50にここに集合!
お店:町家和食 京町恋しぐれ 新宿のクーポン・店舗/ホットペッパーFooMoo
条件:twitter忘年会に参加してないこと
予算:3000円~4000円
給仕係:@cnpn
小心者ってハジけると凄いじゃないですか。だから、こんなイベントがあったらいいですね。
参加者で、やっぱダメとかはおはやめに。
現時点で参加もキャンセル待ちも受け付けておりません。
http://www.mutopiaproject.org/cgibin/piece-info.cgi?id=151
http://www.mutopiaproject.org/cgibin/piece-info.cgi?id=695
あたりならなんとかいける感じ。所有楽器はソプラニーノ・ソプラノ・アルト・テナーリコーダーです。
アルトリコーダーだったら持っていきます!
バロックの簡単なデュオ曲集とか確か持ってたはずなので、探してみまーす!