HotFarm

ブログにお引越ししてます。ほぼ幻水TKアスクロです。

ラベル TwitterBot の投稿を表示しています。 すべての投稿を表示
ラベル TwitterBot の投稿を表示しています。 すべての投稿を表示
2010/08/22 ,

下記ブログにさんざん書いている件、わかりました。
API叩く先のURLが違った(Twitterさん推奨のものでなかった)という話…

2010/08/07

連続投稿ごめんなさい。
本日時点でまだ復旧してないそうです。

具体的には、「account/update_profile_image」のAPIでの挙動がおかしいです。
これは毎日確認するしかないな…と確認用サイトまとめておきます。

ちなみに今の挙動は
  • 画像POSTは正常終了のように見せかけられる
  • しかし画像は「×」で表示される
  • 画像を右クリックし「プロパティ」で画像のURLを確認する。確認したURLを叩いてみると下記のようなエラーが表示される

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>58CBA5274BA1844B</RequestId><HostId>t2KEB4m3gTJOMl+3M+/bhMenrAxKWRG/Vc0wetCHLKPsWB+KlRCZknDmsvelZb7t</HostId></Error>

,

前までの記事の続き。
PHPが動くところまでいったが、いざEasyBotterを動かしてみると、よくある? 下記エラーが表示されました。

PEAR/HTTP/OAuth/Consumer/Request.php on line 214
まぁはじめから、extensionが足りんでエラーになるのは目に見えたので自鯖立てたわけで。
足りなければ自由に追加できるし、動かしてやるーとぽちぽちやりました。

ひとつひとつ検証したわけではないですが、以下のExtensionを入れると動作しました。たぶんいらないもの多数あるかと(地道に調べるのは面倒なので容赦してください)
とりあえずマイPCでテスト用でEasyBotterが動けばそれでいい! という人は参考にしてください。

【いれたExtension】
├Scripe Executable
├Extentions
│ ├Curl
│ ├ GD2
│ ├ Multi-Byte String
│ ├ Mhash
│ ├ Mimetypec
│ ├ Openssl
│ ├ Pspell
│ ├ Sockets
│ ├ Sybase
│ ├ XML+RPC
│ ├ XSL
│ ├ zip
└Extras
└ PEAR install

以下、補足(というか追加の仕方)
Extensionの追加ってどうやるん? って言うのは、PHPをインストーラでいれた場合は、「プログラムの機能」から追加することができます。
ZIPから圧縮解凍してPHPを構築した場合は、php.iniで該当するdllのコメントアウトを外せばよいかと思います。

手順
(1)「プログラムの機能」からPHPを選択し、「変更」を押す










(2)インストーラの指示に従い次へ。三つボタン出てきたら「change」で
(3)どのCGIですかは「FastCGI」のまま
(4)有効にするエクステンションを聞かれるので、必要なものをオンにしていく









(5)インストーラの指示に従い次へ次へで完了させる
(6)IIS再起動




ご参考:うちの環境
WindowsVista Home sp2
PHP Version => 5.2.14(インストーラからインストール)
EasyBotter2.04beta

構築四苦八苦はこっちの記事参照↓
・ 結局自分とこにPHPを立ててみる。

2010/08/01

例のAPI制限はまだ解除されないみたいですね。orz

リプライの実装がだいたい完了。
リプライの台詞によっては、ちょっと特殊な動きをさせるため、EasyBotter.phpはどんどこカスタマイズしております。怖い怖い。

で、通常順番台詞とリプライを実装するために、bot.phpのなかで「postRandom」関数と「reply」関数を呼び出すわけですが、(postRandomは一時間に一回などにするために条件判定加えますが)、これをサンプルで描かれている順番と逆にして

$response = $eb->reply(2,"data.txt","reply_pattern.php");
$response = $eb->postRandom("data.txt");
こう書くと、下記のようなエラーが出てしまうのですよ

object(SimpleXMLElement)#10 (2) {
["request"]=>
string(20)
"/statuses/update.xml"
["error"]=>
string(19) "Incorrect signature"
}

なお、「postRandom」を呼んだあとに「reply」呼ぶにはエラーにならず、謎でした。
「Incorrect signature」でググったらOAuthがらみのエラーの様子…? とりあえず上記でやりたいことは実装できたので詳細は調べませんでした。
なんなんでしょうねぇ…。窮地に陥ったら調べます。

2010/07/24

現在作成中のBOTは、二人のキャラが1つのbotで同居したようなものを考えています。
会話をさせたりさせなかったりする予定。
(本来、それぞれのキャラでアカウント作って、リプライを飛ばしあうのが正道かと思われますが、それができない事情があるのです)

2010/07/20

BOTを作るべく、カスタマイズしやすそうな「EasyBotter」を借りてみることに。
http://pha22.net/twitterbot/

実績あるサーバもWikiのほうに載ってますが、まず手持ちのものでできないか確認してみました。
結果、NGだったサーバの備忘録w

twitter

pixiv