したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

Twitter Bot初心者質問スレ

1名無しさん:2010/02/16(火) 12:28:55
どんな初心者レベルの質問でも質問していいスレッドです。
内容もTwitter Botに関するものなら何でもありです。phaさんのスクリプト以外の質問もOKです。
でも返事が返ってくるかどうかはたまたま分かる人がいるかどうかなので、返事が返ってこなくても泣かない。
返答してくれた人にはお礼をね。

333名無しさん:2010/03/11(木) 18:25:41
>>332
今は各有料レンタル鯖は試用期間を設けていますしね
無料鯖なら退会すればいいし

334名無しさん:2010/03/11(木) 18:32:54
まぁその辺は…その為の試用期間だと…
同じ運営でも、配られたサーバーによって違ったりしますからねえ

335名無しさん:2010/03/11(木) 20:55:30
板主の解説サイトの名前とかスレタイとか、ここの人らは忘れてるんじゃないかって思う

336名無しさん:2010/03/11(木) 21:21:41
【設置鯖名】 自宅鯖
【PHPのバージョン】5.2
【実行】 手動
【手動】動かない
【不明点など】

Fatal error: Uncaught <table border="1" cellspacing="0">
<tr><td colspan="3" bgcolor="#aaaaaa" align="center"><b>Exception trace</b></td></tr>
<tr><td align="center" bgcolor="#cccccc" width="20"><b>#</b></td><td align="center" bgcolor="#cccccc"><b>Function</b></td><td align="center" bgcolor="#cccccc"><b>Location</b></td></tr>
<tr><td align="center">0</td><td>HTTP_OAuth_Consumer_Request->send()</td><td>C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\kyukyu2\PEAR\HTTP\OAuth\Consumer.php:250</td></tr>
<tr><td align="center">1</td><td>HTTP_OAuth_Consumer->sendRequest('https://twitter.&hellip;', Array, 'POST')</td><td>C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\kyukyu2\EasyBotter.php:515</td></tr>
<tr><td align="center">2</td><td>EasyBotter->_setData('https://twitter.&hellip;', Array)</td><td>C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\kyukyu2\EasyBotter.php:526</td></tr>
<tr><td align="center">3</td><td>EasyBotter->setUpdate(Array)</td><td>C:\Program Files\Apache Software Foun in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\kyukyu2\PEAR\HTTP\OAuth\Consumer\Request.php on line 214

とエラーが出てしまいます・・・
どうすれば良いのでしょうか・・・
1.4は動きました

337S・K:2010/03/11(木) 21:52:09
>>>323 ご指導頂きありがとうございました。無事動作し始めました。
やはり初心者と言う事もありなかなか 分からないことが多いので
ロリ鯖を借り+風柳さまのCronで後パーミッション666で解決致しました。
多分 私と同じ分からない方が多いと存じますので 参考意見とし
まず 成功してる方のレスを見て動作環境を同じにして見るのが一番早いと
感じました。
多分自分的には同じロリ系の鯖なのですがheteml鯖で動作しないのは
CronでなくPHPの設定等、若干専門的なことが分からないと難しいのかな〜と
感じております。現状ではheteml鯖のPHP設定を変更できないので何とも言えないのですが
今後とも皆様のご指導を承りたく お礼を申し上げます ありがとう

338名無しさん:2010/03/11(木) 21:54:03
>>336
さんざん既出のエラーです
http://wiki.livedoor.jp/easybotter_wiki/

339名無しさん:2010/03/11(木) 22:04:50
>>335
公式すら読めない人はプログラミングができるできない以前の問題だということ

>>324の通りスレ内検索すれば解決する質問が多過ぎる
基礎をわからずスクリプト弄って共用サーバーに迷惑かけた人もいる
1分とか2分単位でかなりの処理を繰り返すCGIだからリソースも食う
ループ処理をエンドレスで回してた人もいたが、あれも行き過ぎればサーバー飛ばす可能性だってある

誰でも始めるのは自由、でも物事には限度があるでしょ
というかVer2はdate関数や演算子といった『最低限のプログラミング知識』がないと動かせない仕様になってるし

340名無しさん:2010/03/11(木) 22:07:20
ゴメン、>>339のCGIはPHPの間違いね

341名無しさん:2010/03/11(木) 23:54:54
>>339
>Ver2はdate関数や演算子といった『最低限のプログラミング知識』がないと動かせない仕様
そうかもしれんが、それについての記述が無いから事前に知る予知が無いだろ…
サイトじゃ必要な知識の項目で『プログラミングはできなくていいんだけど』って堂々と書いてあるから余計プログラミングの知識の無い奴が集まる

もういっその事スレの質問していい基準変えるか別のスレ作ってくれ
初心者スレだけど、検索しろとか誘導レスの一言で突き放されて終わり
ハッキリ言ってここは本当の初心者が質問出来る場所じゃない

342名無しさん:2010/03/12(金) 00:30:56
>>341
HTMLタグしか知らなかった自分だけど
質問しなくてもエラーとかここの過去ログみたらわかったよ?

343名無しさん:2010/03/12(金) 00:46:22
>>341
2.0はPHP5以上、curlの使えるサーバーなど、設置する人以前に
いろいろふるいにかけられてる状態です。それに2.0はまだbeta版であって
無理に最新版を設置しなくてもいいように安定版である1.42も配布してます。
そこをあえて2.0beta版の設置に挑むのですから、それ相応の知識と覚悟が必要
なのも、わかるはず。それにプログラミングできなくても最低限欲しいことは書いてあります
実際、私はあんなにたくさんかかれたプログラムを一から書けと言われても書けません。

それと何も下手に出ろとは言いませんが、色々やってみて本当に困っているんだなと
思われるものは、初心者スレでなくてもみなさん手順を教えてらっしゃいますよ。

やれる材料と機会はphaさんがほとんど揃えてくれました。
基礎的なものを組み立てたりコメントアウトするだけで、設置出来るようになってます。
人の言葉にあぐらをかいたり挙げ足取るだけでは、何も生産されませんよ

344名無しさん:2010/03/12(金) 01:00:12
■初心者の方へ■

質問を書き込む前に>>324を読もう!
かなりのトラブルの解決方法がわかるよ!

345えいえい:2010/03/13(土) 09:38:10

はじめまして、行き詰ってしまったので質問させて下さい。
【バージョン】Easybotter 2.03beta
【設置鯖名】 さくら
【PHPのバージョン】5.2.12
【実行】 手動
【手動】動かない
【不明点など】

フォルダをほとんどいじらず鯖にアップして、
data.txtとreply_pattern.phpとlog.datのパーミッションを666に設定しました。
bot.phpは「2分以内に受け取った@はないようです。」と確認できましたが、
投稿に失敗すると以下のエラーが出てしまいます。

Twitterへの投稿に失敗しました。ユーザー名:@ボットの名前
(SimpleXMLElement)#5 (2) {
["request"]=>
string(20) "/statuses/update.xml"
["error"]=>
string(33) "Read-only application cannot POST"


bot.phpの中身はこれだけです。
<?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("EasyBotter.php");
$eb = new EasyBotter();
$eb->reply(2,"data.txt","reply_pattern.php");
?>

どういじってみても上記のエラーメッセージがでます。
よろしくお願いいたします。

346345えいえい:2010/03/13(土) 11:48:51
すみません、原因がわかりました、ありがとうございました!

347うら:2010/03/13(土) 12:29:51
>>346
うまくいきましたか。おめでとうございます。
何が原因だったかご報告いただけると、後進の方の参考になります。
できましたらよろしくです。

348ポンタ:2010/03/13(土) 13:28:16
初めまして。
いろいろ調べてみたのですがどうにも解決出来ないので、ご意見下さい。

【バージョン】Easybotter 2.0 beta
【設置鯖名】land.to
【PHPのバージョン】5.2.11
【実行】手動
【手動】動くかエラー
【不明点など】Fatal error: Uncaught〜〜(以下、TABLEタグが続く)が出る

v2.0をDLし、PHP5以上のサーバでbot.phpを実行させています。(php.info();で確認済み)
公式サイトの指定要件は満たしていると思うのですが、エラーが出て進みません。

bot.php内の、動作を指定するところ(行番号:12〜16)で個別に確認したところ
autoFollow()は問題なく動作しました。また、@がないときのreply系も大丈夫でした。
が、post系と@があるときのreply系で上記の例外が出てしまいます…。

まとめwikiで現象自体は紹介されていましたが、どう回避したものかわかりません。
(サーバに繋がらないときに出るそうですが、自分のとこでは100%出ます)
ちなみに手動ですが、v1.4は問題なく動きます。投稿もリプライも出来ます。

サーバ選びなりなんなり、根本的に環境レベルで見直しが必要なんでしょうか?
内容がざっくりしていて申し訳ないですが、何かヒント頂ければと思います。。

349348 ポンタ:2010/03/13(土) 13:30:49
ちなみに、必要ファイルのパーミッション設定は666に設定済み。
自動フォローが出来ているので、認証キー関連も問題なさそうです。
DLしたファイルは、認証キー以外は特に変更していません。
PHPプログラミング知識はそれなりにありますが、サーバ知識はありません。

よろしくお願い致します…

350:2010/03/13(土) 13:52:06
過去に同じような事例が見当たらなかったので質問させて頂きます。

【バージョン】1.42
【設置鯖名】 @PAGES
【PHPのバージョン】5.2.6
【実行】 GAEまたはMy Free Web Cron
【手動】 動かない
【不明点など】
定期投稿、リプライにVer.1.42を使わせていただいておりそちらは正常に動いています。
ですが、8bitさんが配布していらっしゃって同じファイル構造で実行できる、好感度を記録出来るPHPがどうしても動いてくれないのです。
web cronを2つ試しましたがどちらも200と表示され定期アクセス自体はされているようでした。
ただいくら待っても返事が来ないので手動でアクセスしてみたところページが真っ白のままエラーも何も表示されない状況でした。
テスト用に別のアカウントも取っているのですがそちらのアカウント名を入れて実行するとちゃんと動きます。
(○分以内に受け取ったリプライはありません。というような文が文字化けで出ます。投稿に支障はきたしていないのでこれはあまり気にしていません。)
先月は同じPHPデータを実行してもちゃんと動いてくれていたのでとても困っています。
助言をいただけると嬉しいです。よろしくお願いします…

351うら:2010/03/13(土) 15:04:47
>>348
非公式 wiki の「ver.2.0*設置手順*前準備〜設置編」によると、
> land.to やFileQはcurlが使用不可となっています。その為OAuth認証が出来ません=EasyBotterは動作不可
とのことです。残念ですが、鯖の変更をどうぞ。

352348 ポンタ:2010/03/13(土) 15:11:28
>>351
あがが…!やっぱりサーバでしたか…!
EasyBotterを使ったbot作成解説系のブログで、どなたか忘れましたが
land.to使われてたので、同じものを選んだんですけどね…。
その方はv1.4を使われていたのかも知れません。

1.4を使うかサーバを変更するかということですね。
ありがとうございました。wikiに書いてあることで、すみませんでした…。

ちなみに、自動フォロー返しだけは動いたのですが、これって
OAuth認証が出来てるわけではないのでしょうか??
curlを使わない機能だけは動くとかそういうことですか?

353うら:2010/03/13(土) 15:13:14
>>350
何も変えていないのに、突然動かなくなることはありません。
いつの時点かで変更があったのでしょう。
画面が真っ白の場合、たいてい reply_pattern.php の記述ミスですけど。

354:2010/03/13(土) 15:40:52
>>353
お返事ありがとうございます。
reply_pattern.phpは使用していません。
phaさんの配布していらっしゃるスクリプトを使って動作させることの出来る別のPHPデータを使っています。(http://8bitnote.sblo.jp/article/32683097.html)

テスト用のアカウントでは動くのですがIDの部分を変更しただけ(パスワードはテスト用もメインのbotも一緒)で真っ白になってしまいます。
台詞をいじった際に何か余計なことをしたのかとも思い配布データのIDとパスワードだけ変更しましたが同じように真っ白になるだけでした。
twitter側の動作でアカウントによってプログラムが動かせたり動かせなかったりというのはあるのでしょうか…?

355:2010/03/13(土) 15:43:47
↑すいませんURL上手く貼れていませんでした。
http://8bitnote.sblo.jp/article/32683097.html
です。

356名無しさん:2010/03/13(土) 16:10:46
>>354
もしかしてServicesフォルダをアップしていないんじゃ…

357:2010/03/13(土) 16:23:33
>>356
お返事ありがとうございます。
Servicesフォルダはアップロードしています。
別のアカウントでの動作は確認しています…

358名無しさん:2010/03/13(土) 16:27:56
あ、間違えました。
それは8bitnoteさんの方でも書かれてますが、
>APIが一度に2つ使うことになり、Twitterにも負荷がかかる上制限に
>かかりやすくなるのでお勧めできません
と書かれてます。別垢だと動くのに、動かしたい垢で動かないのは
このためだと思います。改造すれば何とかなると思いますが
間違ったことをすると他のユーザーに迷惑がかかるので、やはり
もっと勉強してから挑んだ方がいいと思います

359名無しさん:2010/03/13(土) 16:33:53
>>351
補足するとFileQはver2だとうまく使えてます
land.toとの差が何かわかりませんが&hellip;
curlじゃなくて別の問題かもしれないですね

360:2010/03/13(土) 16:36:25
>>358
なるほど私の読み落としですね…
前に動いたからといっていつでも動くわけではないのですね。
ちゃんと勉強した上で機能を増やしていこうと思います。
ありがとうございますお世話になりました!

361名無しさん:2010/03/13(土) 18:37:20
初めまして。どうしても分からなくなってしまったのでご相談させていただきます。
先日Easybotter2.0でBOTを作り、GAEでcronを動かしています。botを置いているサーバーはPF-X.NET様です。
cronは2分ごとに動くようにしてあり、「on time successed」と出ているので正常に動作しているようなのですが、通常ポストもリプライも何も来る気配がありません。
cronに関してはこちらのサイト様を参考にし、手順通りに全て行いました。↓
ttp://ko-lab.net/twitter/google-app-enginegae%E3%81%A7cron%E5%8B%95%E3%81%8B%E3%81%99%E3%82%84%E3%82%8A%E6%96%B9%E3%82%92%E3%82%86%E3%81%A8%E3%82%8A%E5%90%91%E3%81%91%E3%81%AB%E3%81%BE%E3%81%A8%E3%82%81%E3%81%A6%E3%81%BF/
bot.phpに直接アクセスした場合は、正常にpostがきます。
考えられる問題は何だと思われますか?

362名無しさん:2010/03/13(土) 18:46:04
上記でいくつか同じ質問が出ていたので参考にしましたが
どうにも解決出来ず困ってしまったので、ご意見をお願いします

【バージョン】Easybotter 2.0 beta
【設置鯖名】ロリポ
【PHPのバージョン】5
【実行】GAE
【手動】動くがエラー
【不明点など】
通常のポストは問題なく動くんですが、手動で叩くと
Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 0 in /home/sites/lolipop.jp/users/*****/web/*****/EasyBotter.php on line 279
というエラーが出ます
@にもTLにも反応してくれません
EasyBotter.php(いじってません)の方も確認しましたが、よく分かりませんでした
文字コードはUTF-8、改行コードはLFになっています
他のサーバーにアップしてみても変わりありませんでした

363名無しさん:2010/03/13(土) 18:51:42
>>362
reply_pattern.phpで記述ミスです
過去レスやwikiを見てください

364362:2010/03/13(土) 20:45:50
>>363
即答ありがとうございます
wiki、過去レスには出来る限り目を通してあります
記述ミスはありませんでしたが、
reply_pattern.phpをDLして手を加えていない状態で試したところ
Warning: Invalid argument supplied for foreach() in /home/sites/lolipop.jp/users/*****/web/*****/EasyBotter.php on line 278
とエラーが出て(前回のものは出なくなりました)
書き変えても戻らなくなりました
それから色々と自分なりに調べたり検索にかけたりしたんですが
具体的な解決方法がどうしても分かりません
すみませんが、アドバイスを頂けると幸いです

365名無しさん:2010/03/13(土) 21:29:09
>>361
ちゃんと借りているサーバーの利用方法や仕様を読んでから申し込みましたか?
見てみたところ

※Twitter等のボット設置目的での使用はご遠慮ください
制限などの詳細は利用規約も併せてご確認ください。

と書かれていましたよ。これ以上迷惑かけたくなければ
違うサーバーを借りた方がいいと思います

366うら:2010/03/14(日) 12:20:32
>>364
bot.php で、パターン反応を書き込んだファイル名が間違っているのではないでしょうか?
ファイルがなくてもエラーは出ない仕様みたいですので。

あと、テンプレにはきちんと書き込んでくださいね。回答のための貴重なデータですから。

367名無しさん:2010/03/14(日) 18:52:00
【バージョン】Easybotter 2.04bata
【設置鯖名】 さくら
【PHPのバージョン】PHP-5.2.12
【実行】 さくらのcron 4分間隔
【手動】 動く
【不明点など】発言の投稿に成功しました、と出るが、投稿された画面に反映されない。

はじめまして、よろしくお願いいたします。
ウィキと本家様をみてみたのですが、解決できなかったのでどなたか教えてください。

リプライに反応して成功、cronも動作を確認したので
reply_pattern.phpの発言数を増やしたところ、

「Twitterへの投稿に成功しました。
@ボットの名前に投稿したメッセージ:@自分 言葉 http://twitter.com/ボットの名前/status/…
4分以内のタイムラインに反応する単語がないようです。」

と表示されるのですが、確かにボットの画面で発言が確認できますが、
自分の画面には投稿されていない(見れない)のです。

きちんと動いていた時のバックアップを使ってみても駄目でした。
きちんと動いていた時からbot.phpは触っていません。


<?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("EasyBotter.php");
$eb = new EasyBotter();

//=============================
//botの動作をここに書いてください
//先頭に//がある行はコメント扱いなので実行しません。実行したい行の頭の//を削除してください。
//=============================
//$response = $eb->autoFollow();
//$response = $eb->postRandom("data.txt");
//$response = $eb->postRotation("data.txt");
$response = $eb->reply(4,"data.txt","reply_pattern.php");
$response = $eb->replyTimeline(4,"reply_yobidasi.php");
?>
 
ご助力い願いいたします。

368名無しさん:2010/03/14(日) 19:16:58
いきなり質問ですが、これはmac対応ですか?

369367:2010/03/14(日) 20:00:24
367です。解決いたしました!
ありがとうございました。

370名無しさん:2010/03/14(日) 20:01:32
先日EasyBotter2.04βをDLさせていただき、楽しくBOTを製作させていただいております。

既出かもしれませんがEasyBotter.phpが文字化けしてしまいます。
DLし直したところ、Shift-JIFで保存してあるような設定になっていました。
エディタはPHPエディタです。動作は問題無いのですが、内容を把握できず困っています。
よろしくおねがいします。

371名無しさん:2010/03/14(日) 22:13:45
2日前まで通常稼動していたのですが
気がついたらつぶやかなくなっていました。

コロンに何かあったか、0.3からアップデートを
してないからだろうと思い、0.3から0.4ベータアップデートしたところ
下記のように手動ではリプライに反応しますが、
通常呟きは手動でも行えない状態になりました。

Twitterへの投稿に成功しました。
@bothogeに投稿したメッセージ:@ほげほげ いろはにほへと。 http://twitter.com/ほげほげ

Twitterへの投稿に失敗しました。
ユーザー名:bothoge

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

さくらのサーバーを使用し、コロンはGAECronを使用しています。
GAECronの設定画面にいけないので、何らかの事情で
提供していただいていたコロンが行えなくなったのだと思ったのですが
手動でも通常つぶやきを行わないので
わけがわからなくなってしまいました・・・。
どなたかお知恵を拝借できればと思います。

【バージョン】Easybotter 2.04bata
【設置鯖名】 さくら
【PHPのバージョン】PHP-5.2.12
【実行】 gaecron
【手動】 リプライはできるが、通常発言を行わない
【不明点など】通常発言を全く行わない。コロンの問題の可能性もあるが、手動で発言しない謎が・・・。

372名無しさん:2010/03/15(月) 00:49:02
こんばんは、完全に初心者ですが、簡単に設置できました。ありがとうございました。
質問なのですが、23時〜7時まで返信しかさせないようにするというのは可能らしいのですが、どのような文を書けばよいのかわかりません。
どうか教示お願いします。
EasyBotter2.0使用、3分ごとにさくらサーバーのcron使ってます。

373名無しさん:2010/03/15(月) 00:49:03
>>368
もちろんMacでも設置していらっしゃる方はいますよ
phaさん自身がMacだった気が…

>>370
落ち着いて、もう一度最初から公式ページ読み直しましょう
ファイルの構成と編集の仕方のファイルを編集するエディタの設定(重要)
に書いてありますよ。または非公式wikiの設置手順の項目をよく読みましょう。
分からない単語が出てくれば、それをYahooなりgoogleなり検索にかければ
ヒットします。その手間を省いては今後編集の度にずっとつまづくだけになります。
がんばって覚えていきましょう

>>371
既出質問です。ここのスレを検索かけるか、非公式wikiの方に同様の例が載ってます。
http://wiki.livedoor.jp/easybotter_wiki/

バージョンアップの際に何かやらかしてしまったか、忘れているのだと思います。
2.03を設置したときと2.04で何を忘れているか、落ち着いて一つ一つ
確認しつつ
やっていけば、解決していけると思います。頑張って下さい

374370:2010/03/15(月) 01:07:59
>>373
PHPエディタの自動判別でファイルを開くと失敗していたようです、ありがとうございました!

375名無しさん:2010/03/15(月) 01:32:39
>>372
改造は初心者スレですることではありません。
それよりも気になったことですが、こちらを読んで下さい
http://jbbs.livedoor.jp/bbs/read.cgi/internet/6629/1260351215/88

さくらのcronは最初は何分毎でも設定できます。
この掲示板でも2分毎や5分毎で動かしているよと言う人もいます。
でも、よく考えて下さい。あなたがそれだけ負荷の高いものをあげているということは、
同じサーバーを共有している他のユーザーにも負荷を与えているということです。
自分は動いているからいいじゃないか!という問題ではありません。すでに一時停止を
くらったサーバーもある様です。設置した本人だけでなく他のユーザーを巻き込んでね。

cronを設定するページ注意事項にも書いてあるように、最短でも1cronにつき60分毎と考えて
設定しませんか?近い将来、他のレンタルサーバーのようにtwitter botファイル設置は禁止
なんてことになりかねません。よく考えて下さい

376名無しさん:2010/03/15(月) 03:10:44
初めまして。
phaさんの配布してくださっておりますスクリプトを利用し、初めてbotを作成しようとしております。
すごく初歩的な質問で恐れ入りますが、ご教授いただけたらと思います。

【バージョン】Easybotter 2.03beta
【設置鯖名】@pages
【PHPのバージョン】php-5.2.6
【実行】手動
【手動】動かない
【不明点など】
手順において、「試しにbotを動かしてみる」の項目でブラウザにアクセスした際に
Parse error: syntax error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or '$' in /usr/local/www/htdocs/****/public_html/****/twitterbot/****.php on line 6
と表示されてしまいます。
調べ方が悪いのか、どうしても解決できません。
初歩的な質問かと思いますが、ご指導いただきたいです。
よろしくお願い致します。

377名無しさん:2010/03/15(月) 03:13:28
>>372
>>324を見たら解決すること間違いない
時間で制御するには、いずれにせよ初歩的なプログラム知識が必要になるので
まずはPHPのお勉強をしてください

378名無しさん:2010/03/15(月) 03:16:22
>>376
エラー英文は和訳してみた?
***.phpの6行目は見てみた?

379名無しさん:2010/03/15(月) 03:44:47
>>378
エラー英文を和訳して、構文に間違いがあるのだとは思うのですが、
unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or '$' in
この部分が、どのように訂正することを示しているのかが理解できません。
***.phpですが、bot.phpのファイルにあたります。
この6行目は、//でコメントにしてある部分も含めた6行目でしょうか?
だとすると、bot.phpの6行目は
$eb = new ******();
となっているのですが…
この場合、どこを訂正すれば良いのでしょう?

380名無しさん:2010/03/15(月) 03:55:49
まず2.04版にすることからはじめようか

381名無しさん:2010/03/15(月) 04:01:08
>>379
不必要な部分まで***で隠さなくていいですよ
アカウント部分だけ隠せばあなたの身元はわかりませんから

とりあえず貴方がどういう確認をしているのか読み取れませんので確実とは言えませんが
カッコや文末の「;」の付け漏れがないか、全角スペース等が紛れ込んでいないか
文字コードや改行コードが正しいか(FTPが勝手に変換していないか)、バイナリでアップしているか
このあたりを再確認して、それでも駄目ならbot.phpをコピペしてください

382372:2010/03/15(月) 07:38:23
ありがとうございます。phpから勉強します。
ところで質問なのですが、
>>375にあったように、1時間に一度にcron実行をさせるとなると、リプライするときも一時間ごとになるということになりますか?
マニュアルでは「cronの実行間隔は2分ごとです。」とあったのでそのままcronを叩く時間の間隔かと思ったのですが…。
今は5分に変更しましたが、これも焼け石に水のようです。

383名無しさん:2010/03/15(月) 10:54:52
>>382
さくらサーバー側のCRONについての記述を確認してください
CRONでの実行はサーバーに対する負荷が割合多いので、短い間隔で実行設定することは非推奨とされています

384名無しさん:2010/03/15(月) 11:09:45
>>382
「マニュアル」はEasyBotterの、ではなくて鯖の「マニュアル」ですよ
一応さくら鯖から関連する部分をコピペしておきます

CRON設定画面下部
> メモリやCPUに著しく負荷をかける処理は他のお客様にご迷惑がかかりますのでおやめください。 サーバ運用に支障をきたす場合はやむを得ない場合には、予告無く設定解除、機能制限することがあります。
> 実行頻度が1時間以内に連続する場合や、CPU処理時間が60秒以上連続で利用される場合、予告なく設定解除される場合があります。

よくある質問
> 共用サーバですので、CPUに著しい負荷をかける処理はご遠慮ください。
> もし、サービス運営の支障をきたす過負荷をサーバに与えた場合、予告無く設定解除など処置をしますのでご注意ください。

上記の通りです
ぶっちゃけますと、3分ごとだろうが1時間ごとだろうが、鯖に負荷がかかればストップがかかります
負荷かけないように使って、という規約があるので仕方ありません
外部CRONを使えCRONを常駐させる分は負荷が軽減されますので、短間隔で実行したい場合は外部CRONをお勧めします

> 23時〜7時まで
というようなBOTの挙動管理はbot.phpを弄るだけです、既に>>377さんが誘導済みなので詳細は割愛

385名無しさん:2010/03/15(月) 12:35:47
>>382
加えて言わせてもらいますが
CRONの設定の一番上に
CRON機能は【上級者向け】です。
CRONの設定を誤った場合、思わぬ負荷をサーバに与えることになります。
必要がなければ変更しないでください。

と書かれています。cron設定が理解できず、自信がないならいじるなってことです
他のユーザーに迷惑かけてでも使いたいというのであれば、強制解除なり退会なり受けてください

386名無しさん:2010/03/15(月) 13:07:06
本当に本当の初級質問で申し訳ないのですが、
プログラミング用のテキストエディタ、何が
お勧めでしょうか?
文字コードと改行コードを指定出来るエディタが
思い当たらなくて...。

すみません、どなたかお分かりになる方、お願い
致します。

387名無しさん:2010/03/15(月) 15:12:40
wiki見よう

388名無しさん:2010/03/15(月) 18:07:36
【バージョン】2.04beta
【設置鯖名】シックスコア
【PHPのバージョン】php5
【実行】シックスコアのcron
【手動】動く
【不明点など】
手動での投稿は問題ありませんが、cronで投稿できません。
Cronにエラーは出ていません。
ダウンロードしなおしてもう一度ファイルをUPしてみたりしたのですが、
状況は変わりません。
ランダムに投稿したいだけなのですが何か原因は考えられるでしょうか。

389376:2010/03/16(火) 01:25:46
>>380
申し訳ありません。私の記載ミスです…
バージョンは、2.04betaです。

>>381
カッコや文末の「;」の付け漏れ等もなく
文字コードは、UFT-8、改行コードはLFに設定してあります。

<?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("244bot.php");
$eb = new 244bot();

//=============================
//botの動作をここに書いてください
//先頭に//がある行はコメント扱いなので実行しません。実行したい行の頭の//を削除してください。
//=============================
$response = $eb->autoFollow();
$response = $eb->postRandom("244data.txt");
//$response = $eb->postRotation("244data.txt");
$response = $eb->reply(2,"244data.txt","244reply_pattern.php");
$response = $eb->replyTimeline(2,"244reply_pattern.php");

bot.phpはこのように記述しています。

この状態でブラウザにアクセスすると
Parse error: syntax error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or '$' in /usr/local/www/htdocs/*******/public_html/244bot/twitterbot/244bot.php on line 6
とエラー表示が出てしまいます。

どこを直せば良いのか、ご教授いただければと思います。
よろしくお願い致します。

390名無しさん:2010/03/16(火) 01:31:58
>>389
$eb = new 244bot();
がおかしいです・・・なんで書き換えちゃったんでしょう??
ここはファイル名じゃないんで。コマンド名ともいうべきか。
元に戻してください。

391376:2010/03/16(火) 02:19:03
>>390
そうだったんですね。
無知でここもファイル名で書き換えなければならないと勘違いしてしまいました。

この部分を直して
<?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("244bot.php");
$eb = new EasyBotter();

//=============================
//botの動作をここに書いてください
//先頭に//がある行はコメント扱いなので実行しません。実行したい行の頭の//を削除してください。
//=============================
$response = $eb->autoFollow();
$response = $eb->postRandom("244data.txt");
//$response = $eb->postRotation("244data.txt");
$response = $eb->reply(2,"244data.txt","244reply_pattern.php");
$response = $eb->replyTimeline(2,"244reply_pattern.php");

この状態にしたのですが、今度は
Fatal error: Class 'EasyBotter' not found in /usr/local/www/htdocs/***/public_html/244bot/twitterbot/244bot.php on line 6
と表示されてしまいます。
エラー文を和訳してみたのですが、Fatal errorは致命的なエラーがあるという意味ですよね?
他の部分で初歩的なミスをしているのでしょうか…

392名無しさん:2010/03/16(火) 02:36:03
>>391
EasyBotter.phpを244bot.phpにしてるの?
もしかして244bot.php(EasyBotter.php)の中身も弄ってる?

なんでファイル名を書き換えるのか&hellip;
こんな風にトラブルになるのなら書き換えないほうがいいよ
やるんならもっと知識付けてから書き換えよう

393名無しさん:2010/03/16(火) 02:47:29
>>391
require_onceの意味を調べてみて下さい。
EasyBotter.phpの名前を変えましたか?
変えたわけでなければEasyBotterを呼び出せません。
on line 6でも6行目だけでなく6行目付近を見た方がいいです。

394名無しさん:2010/03/16(火) 03:26:22
>>391
とりあえずもう一度DL→解凍してbot.phpは使う機能だけ//を削除
する以外何もしないでアップしてみたらいいよ
それから自分用に変えていったらいい
詳しい手順はwikiに書いてある

395名無しさん:2010/03/16(火) 05:39:38
書き込み失礼します。
twittbotを使用していたのですが、
現在はEasyBotter(2.04)に挑戦しています。
正規表現について質問です。
reply_pattern.phpの中において、
特定の名詞+特定の動詞の組み合わせ→ランダムでリプライ
(「Aを食べる?」/「Bあげるよ」/「A食べて」などの発言に対して)
(「ありがとう」「好物です」などをランダムでリプライ)
を行いたいのですが、
"(A|B).*((た|食)べ|あげる)"=> array(
"ありがとう",
    "好物です",
),
ではうまく動きません。間に「を」や「、」などが入っても返事をするようにしたいのですが、どう変更すればよろしいでしょうか。
お教えいただければ幸いです。

396名無しさん:2010/03/16(火) 06:20:02
>>395
それで動くはずですけどね&hellip;
他の語句に反応してしまっている可能性はない?
reply_pattern.phpの中身をその語句だけにしてやってみてもだめなの?
こっちで動かしてみたけど、きちんと反応したよ

397名無しさん:2010/03/16(火) 09:08:30
>>395
試してはいないんですけど、ついったーが重いときや不安定なときは正規表現が効かないときがありますね
うちの場合はもっと単純で、A.*Bにしているのですが、ついったーが不安定なときにリプライすると
Aのキーワードだけで反応してしまいます。時間を置いてみてなるのでしたらまた何か違うと思いますが
とりあえず症例として参考になれば

398名無しさん:2010/03/16(火) 09:11:42
>>395
"(A|B).*(たべ|食べ|あげる)"=> array(
でやってみたら?

399395:2010/03/16(火) 10:34:53
>>396,>>397,>>398
お返事有難うございます!
改めて中身を確認し、一度動かない部分だけにして試したところ、
きちんと動作することが分かりました。
いらない部分はコメント化していたので、消してはいけない所まで
消していたのではと思います。迷惑をおかけしました。
正規表現が間違っていると思いこんでいましたので、大変助かりました。
また何かありましたら宜しくお願いします。本当に有難うございました。

400名無しさん:2010/03/16(火) 10:49:46
bot初心者です。

「プログラミングができなくても(ry」の「試しにbotを動かしてみる」で行き詰ってます。

>そしてtw.txtとreply_pattern.phpとlog.datのパーミッションを666に設定してください。
>botを動かすにはbot.phpにブラウザでアクセスしてみてください

ここができません。
パーミッションとは何のことで、どうすればその「666」にできるでしょうか?
そしてアクセスできないんですが……;

どなたか回答して頂ければ嬉しいです。

401名無しさん:2010/03/16(火) 11:15:47
>>400ですが、もう一点すみません。

.+?*()などの特定の記号の前には\をつける、とありますが、具体的にどの記号に有効なんでしょうか?
「�堯廚任笋辰燭蕁�?」になってできませんでした。

\をつけないと表示されない記号、\をつけても表示されない記号がある場合どうすれば表示されるようになるか、
よろしくお願いします。

402名無しさん:2010/03/16(火) 11:47:08
>>400
ホームページの作り方からまず勉強しなおしましょう
それから>>324を読んで勉強

403名無しさん:2010/03/16(火) 12:04:13
>>402
分かりました、とりあえず自分でちょっと勉強してみます。
ありがとうございました。

404うら:2010/03/16(火) 12:46:54
>>375
ちょww
bot.php でリプライの実行制限を if 文で書くことは改造じゃないですよw

405うら:2010/03/16(火) 12:55:12
>>388
鯖の cron の動作指定については、鯖により違います。
php の指定が必要だったり、動作ディレクトリの指定が必要だったりします。

こちらも参照
Twitterbotのcronスレ
http://jbbs.livedoor.jp/bbs/read.cgi/internet/6629/1260351215/

406名無しさん:2010/03/16(火) 17:02:32
bot初心者です。
twitter bot GENERATORを利用していたのですが、PHPによるbotに挑戦しようとしています。
途中で不明点が発生しましたので、ご教授お願い致します。

【バージョン】Easybotter 2.04beta
【設置鯖名】@pages
【PHPのバージョン】php5.2.6
【実 行】手動
【手動】動かない
【不明点など】
ファイルをアップロードし、試しにbotを動かしてみるの項目でファイルにブラウザでアクセスしても、なにも表示されない。
特にエラー文が表示されるわけではなく、本当に真っ白です。
data.txtと、reply_pattern.phpとlog.datのパーミッションは666に設定しました。

よろしくお願い致します。

407名無しさん:2010/03/16(火) 17:34:11
>>406
bot.phpの設定部分をコピぺしてみて

408406:2010/03/16(火) 17:44:29
>>407

<?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("EasyBotter.php");
$eb = new EasyBotter();

//=============================
//botの動作をここに書いてください
//先頭に//がある行はコメント扱いなので実行しません。実行したい行の頭の//を削除してください。
//=============================
$response = $eb->autoFollow();
$response = $eb->postRandom("data.txt");
//$response = $eb->postRotation("data.txt");
$response = $eb->reply(2,"data.txt","reply_pattern.php");
$response = $eb->replyTimeline(2,"reply_pattern.php");

409名無しさん:2010/03/16(火) 17:52:30
>>408
まずは↓のオートフォローだけ試してみようや
$response = $eb->autoFollow();
他は//でコメントアウトしてね

410406:2010/03/16(火) 17:59:22
>>409

とりあえず、
$response = $eb->postRandom("data.txt");
だけ試したら成功しました。
ありがとうございます。

411名無しさん:2010/03/16(火) 22:25:44
bot初心者です。
【バージョン】Easybotter 2.03beta
【設置鯖名】@pages
【PHPのバージョン】php-5.2.6
【実行】手動
【手動】動かない
【不明点など】

今日、少し弄りましたら
Warning: require_once(HTTP/OAuth/Consumer.php) [function.require-once]: failed to open stream: No such file or directory in /usr/local/www/htdocs/kokyonkobot/public_html/EasyBotter.php on line 49
Fatal error: require_once() [function.require]: Failed opening required 'HTTP/OAuth/Consumer.php' (include_path='.:/usr/local/lib/php:/usr/local/www/htdocs/kokyonkobot/public_html/PEAR') in /usr/local/www/htdocs/kokyonkobot/public_html/EasyBotter.php on line 49
がでるようになりました。
どうしたら元に動くようになるか教えてください。

412名無しさん:2010/03/16(火) 22:52:24
bot製作初心者です。
【バージョン】Easybotter 2.04beta
【設置鯖名】@pages

GAE-cronにて作動させています。通常ポストはなんとか自動でできるようになったのですが、
リプライが作動しなくて困っています。
直接叩いてみると
Parse error: syntax error, unexpected '?', expecting '(' パス on line 65
と出ます。エラーの出ている65行目、その前後を見てもエラー部分がわからず。
ためしにリプライパターンのその部分のパターンを削ってみると、
次は別の場所にエラーがでます。
一体どういうことなのでしょうか・・・。
65行目付近載せて置きます。
"反応ワード"=> array(
"台詞:G",
"台詞:M",
"台詞",
),
(:G、:M)はその台詞のキャラの記述です。コンビbotなので。
それから<?phpは最後に>で閉じなくてもいいんですよね?
ラストはモデル通りの);で閉めてありますが。
よろしくおねがいします。

413名無しさん:2010/03/16(火) 23:06:49
>>412
エラーをググって調べたらエラーの意味はわかるのですが、それはちゃんと調べたかな?
「?」が多いと言われてるので、どこかで半角の「?」を使っちゃってるとかないかね

414名無しさん:2010/03/16(火) 23:11:43
>>411
すぐにBOTのフォルダ変えて、垢バレしてるから

415名無しさん:2010/03/16(火) 23:20:39
>>413
65行目がエラーだということしかわからなくて・・。
?ですが、半角のものはなく、かなり減らしたのですが同じエラー
出てしまいました・・

416名無しさん:2010/03/16(火) 23:28:57
>>415
エラー行は目安でしかないので、全体をチェックしなきゃダメだよ

417名無しさん:2010/03/16(火) 23:33:29
412です。他の事でもお聞きしたいことが・・。
さっきまでは普通に自動postできていたのになにかを少しいじったらdate.phpですごいエラーが出てしまい、なんとかエラー自体は直せたのですが、こんな表記のままになってしまいました。
Twitter????????????@**_bot???????????「台詞」 http://twitter.com/**_bot/status/105721914065?????????@????????
これ直せないでしょうか?

418名無しさん:2010/03/16(火) 23:35:35
再び412です
>>416
そう思い何度も全体をチェックしたのですが、コロンやセミコロンなどの見落としはありませんでした。
しかし65行目をもう一度打ち直してみたり、そこを削除してアクセスをしてみても、次は他の構文にエラーで出ているので
65行目以外にもどこかがおかしいのだということはわかるのですが・・

419名無しさん:2010/03/16(火) 23:42:28
>>417
まずは落ち着いて、焦らず、情報はまとめて書こう

ファイルの文字コード・改行コードは確認してる?
あとブラウザがUTF-8になってなくて文字化けしてる可能性もある

できれば>>324のテンプレをもう一度使って書きこんで
あなたの文章では「今」の状況が掴みにくいので

420名無しさん:2010/03/16(火) 23:48:12
>>417
何かの拍子にエンコードをUTF8以外にしてアップしたのだと思います

他の人も言ってますが、エラーの行数は目安であってとんでもないところにあるときもある
だから全部を見ないといけない。(であるべきところが?になってるよと言ってるのだから

どうしても分からなければ最悪reply_pattern.phpをもう一度初めからやり直して1つ1つ
確認しながら入れていけばいい

421名無しさん:2010/03/16(火) 23:55:26
>>411
動いてたのに弄っておかしくなったのなら、何を弄ったのか教えて貰わないことには解法は教えられないわ
とりあえずOAuthとPEARの中身をアップし直して、各ファイル文字コード・改行コード確認かな

422名無しさん:2010/03/17(水) 00:06:32
>>419>>420
【バージョン】
【設置鯖名】 @pages
【PHPのバージョン】PHP-5.2.6
【実行】 GAE-Cron(でいいのでしょうか
【手動】 動く
【不明点など】
あいかわらず↓のような感じです。
Parse error: syntax error, unexpected '?', expecting '(' パス on line 65
文字化けもしっぱなしです。
文字コード・改行コード共に確認しましたがちゃんと出来ていました。
ブラウザも正常のようです。
リプライパターンは実は一度初めから書き直して、今だしているものが2度目なのですが。
最悪、また全て1かた作り直そうかとも考えています

423しつこいけど重要なので:2010/03/17(水) 00:07:13
■初心者の方へ■

質問を書き込む前に>>324を読もう!
かなりのトラブルの解決方法がわかるよ!

424名無しさん:2010/03/17(水) 00:09:52
>>422
んーと、まずリプライパターンのエラー解決について

パターン部分を全て「/*〜*/」でコメントアウト
上から順に1パターンずつ外していって、リプライでエラーが出るか否かを確認
エラーが出た部分に何か問題がある

425名無しさん:2010/03/17(水) 00:23:17
>>424
Parse error: syntax error, unexpected '*' パスon line 78
とでてしまいました。コメントアウトの*にも反応しているんでしょうか?これは全てコメントアウトした状態です。
どこも外していないのにいきなり78を指摘されました。
もう1からやり直すしかなさそうですよね

426名無しさん:2010/03/17(水) 00:31:18
>>422
自分がやりたいこと65行も書き出す前に、wikiにもあるように
reply_pattern.phpを何も書き換えずアップして
@○○bot おはようございます
と試してみたのかな?まずはそれをやってみたらいいよ

なんとなく根本的に何か勘違いしている気がする

"反応ワード"=> array(
  "答え1",
  "答え2",
),

で1セットですよ。書き換えるとしたら ""または"",の間にある
反応ワードと答え1答え2のところです
他はいじらない。正規表現は使わないでやってみて

427名無しさん:2010/03/17(水) 00:42:05
>>426
それで1セットだということは理解しています。
台詞、と書いたのはその反応ワードの答えが台詞になっているということで
台詞と表記させていただきました。
わかり辛くてすみません。
何も書き換えず・・とwikiにあるということですが。
ここを見たのは本当に数時間前で、すでに始動させてみるところまでやっていたのです。

もう一度最初からやりなおしてみることにしました。
そのときはその手法をとりたいとおもいます。wikiもみつつ。
お答えくださったみなさん、どうもありがとうございました。

428388:2010/03/17(水) 01:08:10
>>405
ありがとうございます。
cronスレで聞いてみます。

429名無しさん:2010/03/17(水) 20:25:16
>>427
今更ですが@pages特有のクセで、UTF-8のPHPファイルをアップすると
先頭に?が挿入されてしまう人もいるようです

?が多いということなので、管理画面から直接入って

?<?php になっていたら
 ↓
<?php と直したらいいそうです

一度確かめてみてはどうでしょうか?

430名無しさん:2010/03/18(木) 15:23:27
毎回お世話になっています。
【バージョン】Easybotter 2.04bata
【設置鯖名】@pages
【PHPのバージョン】5
【実行】 まだ試していませんがGAEです。
【手動】 一応反応する
【不明点など】
Twitterへの投稿に成功しました。とはでるのですが
@ぼっとに投稿したメッセージ:?????????????
みたいに文字化けをしていまいます。
文字コード改行コード等やレスの確認をしてみましたがどうしても解決できません。
data.php、reply_pattern.php、log.datのバーミッションも666に設定しています。
ご教授願いできませんでしょうか?

431名無しさん:2010/03/18(木) 15:30:48
【バージョン】Easybotter 2.04beta
【設置鯖名】@pages
【PHPのバージョン】php5.2.6
【実行】GAE

現在、通常ポストやreply_pattern.phpを使ったリプライは問題なく動いています。
「@aaa 一曲歌って」と言われたら
「@bbb わかった。『○○』を歌うよ」/「@bbb じゃあ、『△△』を歌うよ」
といった風に、相槌部分Aと、曲名Bをそれぞれランダムに選ぶリプライを作りたいと考えています。
先程、違う言葉で暫定的に動かしていたら無事に成功したのですが、複数のファイルを行き来している
間に間違えて上書きしてしまったのか、EasyBotter.phpのどこにどんな文を入れたのかが
分からなくなってしまいました。残っていた文は、

if(stristr($reply->text, "色")){
$randcolor1 = array("赤","青","黄色");
$randcolor2 = array("桃","水色","橙");
$status = "色1は".$randcolor1[array_rand($randcolor1)]."で色2は".$randcolor2[array_rand($randcolor2)]."だよ";
}

こんな感じです。statusをmessageとしていた様な気もするのですが、色々試しても動かなくなって
しまい困っています。
今までにEasyBotter.phpを書き直した事もなく、上の文もこのスレを参考に書きました。
アドバイスお願い致します。

432430:2010/03/18(木) 15:39:45
大事なところが抜けていたので付け加えます。

・通常postが??????というように文字化けします。reply_pattern.phpは文字化けしません。

それともう一つ、リプライされたときの返事は通常ランダムとパターンを用意していますが、
パターン(reply_pattern.php)がまったくと言っていいほど反応しません。

また、TLのpostにも反応しません。

連投失礼しました。




掲示板管理者へ連絡 無料レンタル掲示板