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

Twitter Bot初心者質問スレ

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

312うら:2010/03/10(水) 12:22:29
>>309
・postRandom() 以外の機能は動いています。
・EasyBotter.php には現状深刻なバグはありません。

ここから導かれる可変要素はなんだと思いますか?
思うに、reply() の方も、100%機能していないのではないかと。

313名無しさん:2010/03/10(水) 13:37:41
>>309
さらにヒント
ファイルがダブっているところがあるんですけど?

♪よーく見てみようー

314309:2010/03/10(水) 14:05:10
>>312-313
すみません、あの後しばらく経ったらランダムで発言しだしました。
今は問題なく動いております。
コメントどうもでした。

315名無しさん:2010/03/10(水) 18:33:36
【バージョン】Easybotter 2.04beta
【設置鯖名】@pages
【PHPのバージョン】PHP-5.2.6
【実行】GAE-Cron
【手動】動く
【不明点など】
リプライを返すまでに時間をかけないように1分おきにbot.phpを叩かせてるんですけど、同時に通常のポストも1分ごとに動作してしまうのです。
30分や1時間ごとに発言してくれるようにするには一体どこをどう弄ればいいんでしょうか?

316名無しさん:2010/03/10(水) 19:40:53
>>315
>>161を再確認で解決

317名無しさん:2010/03/10(水) 21:14:11
>>315
またはこちらへ
EasyBotter 非公式wiki - livedoor Wiki(ウィキ)
http://wiki.livedoor.jp/easybotter_wiki/

318S・K:2010/03/10(水) 22:04:57
全然BOT初挑戦なので四苦八苦しておりますが
何も分からず 最初は動いてたように感じたのですが
CRON設定で再度よく読み確認をしたら
$consumer_key = "WtNt5W6js77cFHvKyVgf6Q"; // Consumer keyの値
$consumer_secret = "h3In28YiiRxtg4PTpkhPmrlJSGOCTG2oh3hslQ"; // Consumer secretの値部分も変更しないといけない事に気づき変更をして再度BOTを動作したところ下記の様にメッセージがでてしまうのですが
Twitterへの投稿に失敗しました。ユーザー名:@areacocoobject(SimpleXMLElement)#10 (2) {
["request"]=>
string(20) "/statuses/update.xml"
["error"]=>
string(19) "Incorrect signature"
}
2分以内に受け取った@はないようです。
同じような質問がレスにあるようでないみたいなので
どなたかご指南ください
hetemlサーバーでPHP5、Cronも一時間に1回は設定出来るので
それでBOT調整をしたいのですが 行き詰まってます
宜しくお願い申し上げます

319S・K:2010/03/10(水) 22:22:45
バージョン】バージョン2.04beta
【設置鯖名】 hetemlサーバー
【PHPのバージョン】5.0
【実行】 hetemlサーバー/ブラウザ自動更新/手動/他
【手動】動かない
【不明点など】 上記記載
テンプレートあったので 追記

320名無しさん:2010/03/10(水) 22:32:07
>>318
setting.php追記する必要があるのは
$screen_name = ""; //botのid名
$access_token = ""; // Access Tokenの値
$access_token_secret = ""; // Access Token Secretの値
だけです
Access Tokenはphaさんのサイトをよく読めばわかるはずです
初心者ならConsumer keyとかは変えなくていいです

321S・K:2010/03/10(水) 22:55:25
ありがとうございございます。再度元に戻して行って見ます

322S・K:2010/03/11(木) 01:45:11
先程 ご指摘を頂き変更し 以前の様にWebからの動作はうまくいってるように思うのですが
Cronがいまいちうまく動作がしてないようなのですが Cron自体はメールで
動作報告がくるのですが全てNGの通知です。やはりロリポップ系のサーバなので
いろいろレスを拝見してるのですが うまく動かないのですかね?
パーミッションもレス中他の物を666に設定したら動いたとあったので やってみたのですが
やはりNGのようなのですが あと1時間に1回しかCronが動かないというところで
プログラム上で修正をした方がいいと思われるところが御座いましたら ご指導頂きたくお願い申し上げます

323名無しさん:2010/03/11(木) 02:11:06
>>322
なんでもかんでもここで聞けば何とかなると思わず
もっと自分で調べましょうよ。cronについては、こちらへ
お探しの答えはこちらにあります

Twitterbotのcronスレ
http://jbbs.livedoor.jp/bbs/read.cgi/internet/6629/1260351215/

324名無しさん:2010/03/11(木) 02:23:12
■初心者の方へ■

質問前に、思いつく単語をこのスレ・関連スレで検索してください。
簡易FAQ:http://jbbs.livedoor.jp/bbs/read.cgi/internet/6629/1259657570/168
非公式wiki:http://wiki.livedoor.jp/easybotter_wiki/

検索例)
 リプライ:リプ、@、replyなどで検索
 タイムライン:TL、タイムラインなどで検索
 CRON:CRON、bot.phpなどで検索
 二重投稿:二重投稿、if、bot.phpなどで検索
 リプライと同時に他のポストをする:bot.php、if、同時などで検索
 via〜変更:http://twitter.com/oauth_clients

スクリプト初体験の方は、PHPリファレンスで最低限の勉強をしましょう。
下記5項目がわかれば基本機能は使いこなすことができます。
 ・正規表現(メタ文字)
 ・演算子
 ・比較演算子
 ・条件分岐(if、switch)
 ・date関数

上記を調べたり勉強してもわからなければ下記テンプレを使って質問をしてください。

【バージョン】
【設置鯖名】 レン鯖名/自宅鯖
【PHPのバージョン】
【実行】 CRON鯖名/ブラウザ自動更新/手動/他
【手動】 動く/動かない
【不明点など】 (エラーメッセージがあればコピペ推奨)

325名無しさん:2010/03/11(木) 11:50:27
すみません、Easybotter 2.03betaを利用させていただこうと思い、
ファイルをダウンロードし、編集しました。
その後「用意したサーバーにファイルをアップロードしてください。」
とあるのですが、どのファイルをアップすればよいでしょうか。
PEARというフォルダに入ったファイルも全て階層を合わせフォルダを作り、アップすればいいのでしょうか。

326うら:2010/03/11(木) 12:39:37
>>325
公式ページをご覧になっても分かりませんでしたか?
では1つ前のレス(>>324)にあるwikiに書いてあります。

327名無しさん:2010/03/11(木) 12:50:08
>>326
ありがとうございます。
無事アップできましたが、画面が真っ白になってしまいます。

・アップしたら真っ白になるだけ
   エンコードUTF-8(TeraPadはUTF-8n)Bomなし 改行コードはLFになってるか
   data.txtとreply_pattern.phpとlog.datのパーミッションが666になってるか(サーバーによって違う場合もあり)
   setting.phpで何か間違ってないか

については、UTF-8Bomなし、改行コードLF、パーミッション666、settingの
アカウント名とaccess_token、access_token_secretは設定できていると思います。
ただ、consumer_key、consumer_secretはどこにも情報が無いので、
ファイルをダウンロードした時のままにしています。
是が原因でしょうか?

328名無しさん:2010/03/11(木) 14:41:43
>>327
324読んだ?
聞くまえに検索した?

329名無しさん:2010/03/11(木) 17:17:36
EasyBotter2.0スレの>>65と同様のエラーが同じレンタルサーバで起きました。
Fatal error: Call to undefined function hash_hmac() in /home/******/PEAR/HTTP/OAuth/Signature/HMAC/SHA1.php on line 57
検索・wiki共に有効な解決方法が無かったため質問させていただきます。
説明書通りにbotのOAuth設定や属性変更を行い、テストとしてbot.phpにアクセスしたところ上記のエラーが発生しました。
どなたか解決方法を知っている方、お教え頂けるとありがたいです。

330名無しさん:2010/03/11(木) 17:33:42
>>329
http://php.s3.to/tt/aws.php
サーバーでhash許可してないんじゃない?
php設定変更出来るならhash使えるようにして、出来ないなら諦めるしかないかと

331329:2010/03/11(木) 17:52:40
>>330
phpの設定ですか。試してみようと思います。

この辺りの使用可かどうかなどはサーバを借りる際にわからないのでしょうか……。サービスの概要などを見てもPHP 5.X.X等としか書かれていないので、確かめるのは借りた後になってしまいますよね。
wikiあたりに、そういったレンタルサーバの対応表などを作っても良い物でしょうか。

332名無しさん:2010/03/11(木) 18:12:41
>>331
安易にサーバーリストをアップするのは同意しかねる
借りる前にメールでサーバーに問い合わせすればいいだけ

初心者を免罪符にして調べる努力しない人が多過ぎる

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
がでるようになりました。
どうしたら元に動くようになるか教えてください。




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