超簡単!ツイッター・ボットを自前で動かす(4)
→ 過去記事
というか、その補足情報が反映されていなかった「オペラ対訳プロジェクトBOT」は10月11日に見事に停止しました。
10月11日になにが起こったのか
Twitter側のAPIに変更がありました。って書いても文系にはさっぱりわからんですよね。例によって文系にもわかる説明を試みたいと思います。あなたが自前で設置した Easybotter は、Twitter側のサーバ(要するにコンピュータ)とおハナシすることで、仕掛けたつぶやきがTwitter に流れます。APIの変更とは電話番号が変わったようなものです。いままで、つぶやきたいときにかけていた電話番号が廃止になって通じなくなったため、つぶやけなくなったのです。
もう少し細かく言うと、Twitter は電話番号が変更になることをアナウンスして、旧電話番号、新電話番号、両方使える状態にしていたのですが、10月11日を最後に、旧電話番号(旧API)を廃止したということです。
ですから、新しい電話番号(新しいAPI)に書き換えて、自前で設置した Easybotter のファイルを上書きすれば、再びあなたのEasybotter が Twitter側のサーバとおハナシできるようになります。
EasyBotter 最新版 ver.2.1.1 をダウンロードする
ツイッター・ボットを自前で動かす(1)~(3)で説明した EasyBotter ver.2.0.5 のプログラムに記載されているAPI は旧API のままでした。2012年11月3日に EasyBotter ver.2.1.1 がリリースされたので、これから EasyBotter で自前ボットを制作する方は最新版を使ってください。既に自前ボットを設置済みの方は、『※ver2.05から更新する場合は、EasyBotter.phpとlog.datとPEARフォルダを置き換えれば動くはずです』とのことなので、そうしてください。→ 2012.11.2. バージョン2.1.1を公開しました
ver.2.0.5 のまま使いたい時は
どうしても、ver.2.1.1 にアップグレードしたくない時は、次のファイルの文字列を矢印の示す通り書き換えたあと FTPソフトを使ってアップロードし、設置済みのファイルを上書きしてください。「オペ対BOT」はこれをやったら動くようになりました。EasyBotter.php
https://twitter.com/statuses/update.xml
↓
http://api.twitter.com/1/statuses/update.xml
http://twitter.com/statuses/friends_timeline.xml
↓
http://api.twitter.com/1/statuses/friends_timeline.xml
http://twitter.com/statuses/replies.xml
↓
http://api.twitter.com/1/statuses/mentions.xml
http://twitter.com/statuses/friends.xml
↓
http://api.twitter.com/1/statuses/friends.xml
http://twitter.com/statuses/followers.xml
↓
http://api.twitter.com/1/statuses/followers.xml
http://twitter.com/friendships/create/".$screen_name.".xml
↓
http://api.twitter.com/1/friendships/create/".$screen_name.".xml
この情報は Easybotter 非公式wiki のページに掲載されていた情報をそのままコピーしています。
http://www26.atwiki.jp/easybotter_wiki/pages/34.html
明日は松岡修造の誕生日
さて、今回の API 変更による影響は各種ボットに及んでいるようです。「あのボット、最近つぶやかなくなったな~」と思ったら、それはほぼ間違いなく上記の問題によるものです。Twitter Bot Contest 2011 の大賞に輝いた修造bot でさえ10月11日を最後に熱いメッセージをつぶやかなくなっています。その松岡修造は、明日 11月6日が誕生日なのです。「オペラ対訳プロジェクトBOT」は、いつも元気をくれる松岡修造に敬意を表して、明日の夕方に誕生日をお祝いするメッセージを送ることにしています。(これは EasyBotter ではなく、twittbot の「時間指定つぶやき」機能を使う)
もし、そのときまでに「修造BOT」が旧API を新API に修正して復活していたら、「オペ対BOT」に熱いメッセージを返してくれるはずです。すると、「オペ対BOT」は修造を「オペラの登場人物にしてあげて」リプライするというわけ。
このやりとりをリアルタイムに観察したい方は、両方のボットをフォローしておけばよいはずです。
→ 修造bot
→ オペラ対訳プロジェクトBOT
PHPの勉強が進まないのは参考書が悪いに違いない件
過去記事で「PHP勉強する」とは言ってはみたものの、一向にはかどりません。参考書を2、3冊眺めてみたけれど、できるようにならないのはたぶん私の頭が悪いからでしょうが、ひょっとしたら参考書が悪いのかもしれません。PHPのプログラムを眺めていて感じるのは、これはオペラのリブレットを翻訳するのと同じだなってこと。
オペラのリブレットは、ドイツ人やイタリア人やフランス人が読める言葉で書かれている。それを日本人でも読めるようにするのが、オペラ対訳プロジェクトの仕事。
PHPのプログラムはコンピュータが読める言葉で書かれている。それを人間が読むというのは、外国語をマスターするのと全く同じなのだ。
ところが、PHPの参考書というのは、外国語習得とは全く異なるアプローチをする。たいていの参考書は「Hellow Worldと画面に表示してみましょう」から始まる。のっけからプログラムを作文をさせるのである。書かせるのである。その後ずっと作文の授業が続く。
これはいただけない。外国語習得の基本はまず「読める」ことである。短い文章からはじめて長い文章を読む、基本的な文法と簡単な単語を押さえて、徐々に複雑な構文でも読めるようにする。いきなり英作文から始める英語の授業なんて聞いたことがない。
一方、読めるようになりさえすれば、書くことはそれほど難しくない。シェークスピアの数ある戯曲から台詞を集めてコラージュすれば、とりあえず筋の通った一本の英語戯曲だって書けてしまうだろう(もちろんその文学的価値はまた別の話)。その前にシェークスピアを英語で読めることが大前提なのである。
ほとんどのPHP初心者がやりたいのはたぶんそれだ。ネット上にはPHPのプログラムがライブラリになってたくさん転がっている。だから初心者がプログラムを一から書く必要は実はほとんどないのだ。ライブラリから必要なものを集めて、コラージュして、自分の目的を達成するためのプログラムに仕立てたいだけなのである。そのためには、プログラムを読めるようにならなければならない。でも書ける必要はない。もちろん書けたほうがいいに決まってるが初心者は書ける必要はない。書けるようになるのはずっと後でいい。
出版社はなにか勘違いをしていないか?
それともやっぱり私がバカなのか?
→ ランキングを見る(にほんブログ村 オペラ)
→ ランキングを見る(人気ブログランキング クラシック)

この記事へのコメント