【Twitter】 BOT製作支援スレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/09/27(日) 14:15:59ID:Dz08qoo4[公式] http://twitter.com/
[Twitter 開発ブログ 日本語版] http://twitterjp.blogspot.com/
*どの言語でもOKですがソースを書く際は何の言語なのかも記載してください。
*初心者のために、なるべくぶつ切りのソースではなく全体的に載せてほしいです。
0334nobodyさん
2009/11/17(火) 19:50:15ID:???http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0update
0335nobodyさん
2009/11/19(木) 21:13:08ID:???例えば喜のPostのときは喜んだアイコン、怒のPostのときは怒ったアイコンって感じで
0336nobodyさん
2009/11/19(木) 21:37:00ID:???変えるのはやってできないことはないと思うけど、それだと喜のあとに怒のpostしたら結局怒アイコンになるんじゃ
0337nobodyさん
2009/11/19(木) 21:56:10ID:???仕様書見る限りupdate_profile_image使えばいいっぽいんだけどどうすればいいのかわからなくて
喜怒哀楽は例であって作りたいのはある作品のキャラごったにbotを作りたいんだ
その台詞を言ったキャラのアイコンでPostやリプライを送る。どんなキャラが出てくるのかはランダムで
0338nobodyさん
2009/11/19(木) 22:07:55ID:???0339nobodyさん
2009/11/19(木) 22:13:57ID:???Post間隔長いのならわざわざ過去の見ないだろうがリプライとかは無理か
0340nobodyさん
2009/11/19(木) 23:54:38ID:???クライアントによってはアイコンをキャッシュするから変えてもすぐには反映されんかもしれん。
0341nobodyさん
2009/11/20(金) 15:58:52ID:???同じキャラがキョロキョロするとかならかわいいと思った
0343nobodyさん
2009/11/21(土) 00:07:11ID:???ttp://d.hatena.ne.jp/bardothodol/20090801/p1
0344nobodyさん
2009/11/21(土) 00:08:06ID:???0345nobodyさん
2009/11/23(月) 20:10:45ID:???in_reply_to_status_idつけてpostするようにしても、付与されないんだけど・・・
0346nobodyさん
2009/11/23(月) 22:22:45ID:???ランダムリプライと、指定した単語にリプライの両方使ってて、
片方のBOTは反応単語以外のリプライを受け取ると
ちゃんとランダムリプライしてくれるんだが、
片方は反応単語以外のリプライを受け取ると
必ず空リプライしてしまうんだがなんでだろう?
ちなみに、おかしいと思って、きちんと動作する方の
プログラムまるまるコピペしてユーザー名書き換えて
アップロードしてみたり、Services等その他諸々の
フォルダも全部アップロードし直したりしたけどだめだった…
0347nobodyさん
2009/11/23(月) 22:28:39ID:???0348346
2009/11/23(月) 22:41:32ID:???今自分で読み返してもなに言ってるか分からなかった
0349nobodyさん
2009/11/23(月) 22:50:38ID:???0351nobodyさん
2009/11/24(火) 04:54:49ID:???自分のフォロワーに同じことで悩んでる人がいたなw
その人もbotを複数作ってて、ある一つのbotが空リプライするって、同じこと呟いてたけど、まさか…?w
それはともかく、自分のbotも反応ワード以外のリプライを貰うと空のリプライしてたんだけど、textのデータを弄ったら直ったよ。
サーバにアップしてあるtextのファイルがあるでしょ?
どうやらphaさんのは、反応ワード以外のリプライを貰うと、そのtextファイルに書いてあることをリプライするプログラムらしいので、そのtextファイルに、分からなかった場合のセリフを書き込めば良いってわけ。
そうすれば空のリプライしなくなると思う。
0352345
2009/11/24(火) 09:40:53ID:???「@名前 」つけて名前とIDが違うと付与されない的なのは把握してるつもりなんだけどね、なんかうまくいかなくて・・・
やり方が間違ってるのかなぁ
ちなみにpost部分はこんな感じにしてます
$req = $to->OAuthRequest("https://twitter.com/statuses/update.xml",array("status"=>$aaa, "in_reply_to_status_id"=>$bbb), "POST");
$aaaは「@名前 返信内容」
$bbbはステータスID
俺恥ずかしいこと聞いてそうだな・・・
0353nobodyさん
2009/11/24(火) 12:25:40ID:???tw.txtの中身が空であるか、改行して空白の行がありませんか?
またサーバーの方で確認して文字コードはUTF-8、改行コードはLFになっていますか?
0354nobodyさん
2009/11/24(火) 21:18:07ID:???作る価値ねーしwwwwwwwwwwwww
0356nobodyさん
2009/11/25(水) 03:17:51ID:6oiYyRxaググっても解決策ゼロ。
誰か助けてください。。。
0357nobodyさん
2009/11/25(水) 03:21:26ID:???0358nobodyさん
2009/11/25(水) 03:27:51ID:6oiYyRxaどうやって?
もう削るとこないです・・・
0359nobodyさん
2009/11/25(水) 03:28:38ID:???0360nobodyさん
2009/11/25(水) 03:31:21ID:6oiYyRxaそれってどういう意味ですか?
もう消す場所ないです;;;
0361nobodyさん
2009/11/25(水) 03:35:18ID:6oiYyRxa0362nobodyさん
2009/11/25(水) 08:01:11ID:???2分間隔でリプライ返すbot
動かしてるんだけど、
cron-job不安定だったからGAEに移行。
java使ってGAEでcron(2分おきに設定)
動かすまではうまくいったんだが、
プロジェクトをデプロイして
しばらくたつとリプライを拾わなくなる。
デプロイ直後は普通に拾うんだが…
AppEngine経由でPHPのページにアクセスすると
直前にリプライ飛ばしてても
「2分以内の@はありません」ってでる。
直接アクセスするかcronjob経由でPHP叩けば、
ちゃんとリプライ拾うんだけど…。
バージョン変えてデプロイし直してもうまくいかない。
何がおかしいんだろうか…
0363nobodyさん
2009/11/25(水) 08:08:35ID:???0364362
2009/11/25(水) 08:26:52ID:???botにリプライ飛ばしたとき
・直接PHPページにアクセスするとリプライ拾える
・GAE経由だとリプライ拾えない。(デプロイ直後は拾えるがそのうちダメになる)
・GAEのcronjobにはエラーなし
ってことなんだ…
0365nobodyさん
2009/11/25(水) 14:21:04ID:w36IBMdLhttp://d.hatena.ne.jp/rdcs/20090619/p1
「PHPでtwitterに投稿する」の時点で躓いた。
0366nobodyさん
2009/11/25(水) 14:22:07ID:???0367nobodyさん
2009/11/25(水) 14:22:47ID:???0368nobodyさん
2009/11/25(水) 14:24:12ID:w36IBMdL0369nobodyさん
2009/11/25(水) 14:35:02ID:???0370nobodyさん
2009/11/25(水) 14:39:11ID:???0371nobodyさん
2009/11/25(水) 21:34:37ID:???確かに無料だけどcron-job.orgの設定で毎日毎日苦労してるんなら
月100円くらい出してwebcron.orgを使うことを個人的にはお勧めしたい。動作は安定してるよ。
0372nobodyさん
2009/11/26(木) 07:22:56ID:???0373nobodyさん
2009/11/26(木) 10:32:51ID:???0374nobodyさん
2009/11/26(木) 12:12:55ID:???同じ症状の人います?
0375nobodyさん
2009/11/27(金) 19:39:09ID:???ファイル大きいって言われてもちゃんと動くぞ。
動かないならソースがおかしいかも。エラーは出なくてもどっかしら
汚いソースの部分があるんじゃないかと。
それより勝手にNeinになる仕様どうにかしてくれ。
0376nobodyさん
2009/11/28(土) 07:10:32ID:M2/cHCZPreplay_random.phpの内容、↓これで解釈あってるの?
//コメントは自分が書いたものです.
//リプライの文章をつくる
for($i=0;$i < count($replies2);$i++){ //リプライの回数(replies2)分、以下の処理を繰り返す
$text = ""; //メッセージ用の変数を宣言
if($useReplyPattern === TRUE){//特定の単語に反応させたいときはこの処理を行う
require_once($replyPatternFile);//先にreplyPatternFileで定義したファイルを読み込む
foreach($reply_pattern as $pattern => $res){//配列$reply_patternの中身について端から以下の処理を行う。そのとき一個づつ$patternに代入していく
$pattern = preg_replace("@¥@@","¥@",$pattern);//$patternの中に"@¥@@"が有ったら"¥@"に変換??
if(preg_match("@".$pattern."@",$replies2[$i]["text"]) === 1){ //もしも、 "@".$pattern."@"っていうのが $replies2[$i]["text"]の中に有ったら?
$text = $res[array_rand($res)];//$resの中からランダムに選ぶ
break;//おしまい
}
}
}
0377nobodyさん
2009/11/28(土) 08:45:14ID:???正規表現を特に聞きたいんでしょ?
0378nobodyさん
2009/11/28(土) 09:21:58ID:???というか初期化だな。
//$patternの中に"@?@@"が有ったら"?@"に変換??
なんで@なんて使ってるのか知らんけど左右の@は区切りのはず。
大抵/@/や#@#あたりじゃないんかな。だから@を@に置き換えてる。
他の部分知らんがなんでだろ。
0379nobodyさん
2009/11/28(土) 19:52:45ID:???リプライの無限ループを制御する
$replyLoopLimit = 3; //何回連続でreplyを返されるとループを中断するかを設定します。
が、効いてないような?
サーバーやPHPのバージョンとかに関係あったりするんでしょうか?
0380nobodyさん
2009/11/28(土) 20:18:57ID:tYVMHZ37なんか急にreplay_random.phpが動かなくなったよね…
サーバー入れ替えしただけ(中身同じ)なのに、リプ返さなくなった。
ファイルマネージャからアクセスすると「送られたメッセージはない」って出るのに、Twitterから送ると真っ白。
自分だけかと思ったけれど何人もいるらしいから、クライアントとか関わるのかな。
>379
自分もそう。4で入れてるのに1回しか返さないわ…
0381nobodyさん
2009/11/28(土) 21:06:37ID:???0382nobodyさん
2009/11/28(土) 21:12:58ID:???0383nobodyさん
2009/11/29(日) 00:24:12ID:???TL上の単語に反応させてリプライ→プログラミングを始める10の理由からコピペ
↑のに加えてどのポストに反応したかの紐付け→銀さんのBOTのin_reply_to_status_idの記事から
今のとここんな感じ
0384nobodyさん
2009/11/29(日) 01:37:43ID:???私はあそこのは使ってない。
確かにphaさんのはカスタマイズしやすくて良いんだけど、自分は「プログラミングを始める〜」のとこで公開されてるソースを改造して使ってる。
TLに反応するプログラムも、リプライも定時発言のも全てそこので事足りる気がする。
0385nobodyさん
2009/11/29(日) 02:26:40ID:???全部自分で書いた方が楽しいじゃん
まぁServices_Twitterは使わせてもらってるがなー
0386nobodyさん
2009/11/29(日) 04:49:52ID:???どういう流れなのかコメントがわかりやすく付けられてるし
サブで時間帯別のと好感度のものを組み合わせてるが
そっちはどこ改造したらいいのかもまだわからんw
0387nobodyさん
2009/11/29(日) 14:37:06ID:???自分は今phaさんの配布しているリプライソースを使っています。
phaさんの配布ソースのどの部分に入れたらいいでしょうか!
リプライパターンphpとも組み合わせたい。
//リプライパターンと照合する
if($useReplyPattern === TRUE){
require_once($replyPatternFile); 〜(略)
の前?それとも後?全然場所が違いますか。
それとも↑のソースも色々変えないと出来ないですか?
プログラミングも何もかも初心者なので色々と試したのですがうまくいきません。
改変箇所等教えていただきたいです!
参考にしたのは
ttp://d.hatena.ne.jp/ouixxx/20091006
の「時間帯によって反応を変える」って記事
>>362
GAEはサーバーと距離が短くなくちゃタイムアウトしてしまうらしい?
オススメは@pages。1分間隔でまわせるみたいです。
自分はまだ使ってませんがいずれ入れたい!
0389nobodyさん
2009/11/29(日) 20:59:32ID:???0390nobodyさん
2009/11/29(日) 21:51:04ID:???どこに入れればいいかじゃなくて、入れて動かしてみて、うまくいかなかったときに聞いたほうが
答えをもらえる確率は上がると思うよ
ここはphaさんソースの改造方法について教える場所ではないからね
0391nobodyさん
2009/11/29(日) 23:21:39ID:???自作でちょびちょびいじりながらやってる。
ていうかここってBOT製作支援スレであって、配布BOT利用支援スレじゃないと思うのよね。
まあわかる範囲では質問にも答えるけど。
しかしなるべくメンテフリーで面白いBOTってのはなかなかうまいこといかんね。
0392nobodyさん
2009/11/30(月) 07:43:42ID:???昨日まではちゃんと動いてたのにいきなり無言になりおった
0394392
2009/11/30(月) 21:46:49ID:???ありがとう。
とりあえずphaさんの使用してて、ファイル全入れ替え+別鯖(さくらから@pages)に移動して実行してるのに、同じ状況。
ほんとにいきなりリプライしなくなったので原因がさっぱりわからない。
もし同じ症状のひとがいたらと思ったけれど、いないのかな?
0396nobodyさん
2009/12/01(火) 00:22:49ID:???0397nobodyさん
2009/12/01(火) 00:40:46ID:???cronが動いててもすぐ接続がタイムアウトしちゃうらしい
さくらのBOTに比べて格段に反応が鈍い
0398nobodyさん
2009/12/02(水) 13:36:20ID:???0399nobodyさん
2009/12/03(木) 09:37:10ID:???大体は安定して叩いてくれてるけど、
実行時間が毎日1分〜2分ずつくらい遅れてきてるのが気になる
0400nobodyさん
2009/12/03(木) 12:35:16ID:???cronが度々アクセスに失敗しても、貰ったリプライには全レスするし、もうこれでいいやってなってる。
0402nobodyさん
2009/12/04(金) 02:13:13ID:???8つ回してるけど1つだけ何度上げても止まる
鯖はさくらで中身全部同じなのにわけわからん…
GAE使ってる人はJAVAとPythonどっちでやってる?
0404nobodyさん
2009/12/04(金) 12:39:33ID:???このスレ見てると同じような不具合多いみたいだし、
webcronとやらに移ったほうがよさそうだね
ただ、自分のクレジットカード作れる年じゃないから
またカーチャンに個人情報洩れるんじゃないのって渋られそうだw
0405nobodyさん
2009/12/04(金) 12:58:49ID:???0406nobodyさん
2009/12/04(金) 13:09:03ID:???止まることも遅れることも、今のところない
ちなみにPHP
0407nobodyさん
2009/12/04(金) 14:03:06ID:???botのためにブートでWindowsを立ち上げるのもなんだかな…。
0408nobodyさん
2009/12/04(金) 14:47:20ID:???一から十までcronの動かし方を説明してくれてるページをみつけて歓喜したんだが
肝心のソース説明画像がキャッシュに残っていなかった…orz
0409nobodyさん
2009/12/04(金) 15:05:25ID:???安定させたくて@pagesからさくらに移ったんだけど負荷がかかるからってcron止められてしまった
結局cron-job.org使ってる
0411nobodyさん
2009/12/04(金) 17:36:16ID:???どうして消したんだろう
0412nobodyさん
2009/12/04(金) 17:50:57ID:???たしか消えた記事内で参考にしたと書かれていたブログ記事の方は
まだ残っているから、そっちを探せば出来るとは思うけど
0413402
2009/12/04(金) 20:39:49ID:???今日見直したら止まってると思われた奴はまた動いていた
GAEはタイムアウトのタイミングがシビアなのかもしれん…
>411のサイト見て作ったのでJAVAで動かしてたが
何か問題でもあったのかな
0414nobodyさん
2009/12/04(金) 22:54:07ID:???>>413
GAEって30秒でタイムアウトじゃなかったっけ、それにひっかかってるとか?
0415nobodyさん
2009/12/04(金) 23:09:13ID:???今日の記事に書いてあった。
0416nobodyさん
2009/12/04(金) 23:09:32ID:???botのDMとコメント欄に問い合わせ多かったからだってさ。
再掲載する予定も今のところ無いみたいね
>先日までこちらのブログでGoogleAppEngineのcronjobを使ったbot管理の方法を
>記事にしていましたが、私自身のtwitterアカウントが非公開の為
>当方が管理しているbotにDMを送ってこられる方、サポートをしていないと
>申し上げているにも関わらずコメント(承認制にしてありました)でのお問い合わせが多く
>なんかもうバッタンしてしまいました…
>仕事で忙しいせいもあるので、自分に余裕がないのが悪いとは思いますが…
>現状記事の再掲載は未定です。良い解説記事が見つかるのを祈ってます。
>その際はそちらを管理されている方の負担にならないよう、
>「人事を尽くす」努力をお願いします。(私が言う事ではありませんが…)
0418nobodyさん
2009/12/04(金) 23:17:31ID:???ところで勝手にneinになるのとjaのままのとがあるんだけど何か条件あるのかな
今9個job設定しててそのうちの2個はいつもjaのままなんだけど
post内容が違うだけでほぼ同じソースなんだよね…
ファイルサイズもそんなに重くない…というかneinになっちゃうやつのほうが軽い奴もある
あと勝手にneinなるのはfehlerhaftも出やすいみたい…
0419nobodyさん
2009/12/05(土) 00:08:03ID:???「○○行目でエラーが出るんですけどどこがおかしいのか分かりません」
↑どんなエラーとも書いていない。結局全角スペースが入っていたとかそういう問題
「○○を書き換えて、って書いてありますが場所がわかりません」
↑その記述は一箇所しかないから探せば見つかる
とかそういう質問山盛りだからな…モノクロ二階調さんのところは本当にお疲れ様です、としか…
0420nobodyさん
2009/12/05(土) 00:27:12ID:???あとよくわかってないのに自分の解釈をやたら書く質問者も。
相手はエスパーじゃないんだから教えて欲しいことを伝える努力は必要だわな。
0421nobodyさん
2009/12/05(土) 00:38:08ID:???>>418
基準はよくわからんが、やっぱり無料だし文句は言えないところか。
ただ、neinになるとかの条件はヒントだけでも載せてくれると助かるね
>>419-420
質問するにも初心者(笑)なのが多いのか。
ググり方も分からないやつなのかな
てかたまに偉そうなやついるよね、上から目線の。
0422nobodyさん
2009/12/05(土) 00:47:40ID:???エラーメッセージでぐぐれば問題を絞れるはずだが、
ぐーぐる先生の資料集めとしての使い方が思いつかない人はそれなりの数いる。
WikiPediaみたいにまとまってたり聞いたらすぐ答えてくれるようなとこしか行かないのだろうし。
0423nobodyさん
2009/12/05(土) 21:07:44ID:???しかしbotの方にDM送るなんてひどいな
なに考えてんだ
自分もbot作ろうとしてるのにそのbotに関係ないメール送られて気持ちとか考えないのかね
0424nobodyさん
2009/12/05(土) 21:49:15ID:???ある程度は自分で調べないと何かあった時に対処できんから恐いわ
phaさんのしたらばのは初心者(笑)ホイホイにならないことを祈る
0425nobodyさん
2009/12/05(土) 22:45:17ID:???それマジ心配してる。でも今もう既にそうなりつつあるような…。
phaさんのプログラム以外の質問とか、PHPと全然関係ない質問多い気がする。
あまりに初心者すぎな質問であふれかえってphaさんが
疲れてしまってサポート放棄されたり、
最悪配布を中止されたりしてしまうんじゃないかと不安だ……。
0426nobodyさん
2009/12/06(日) 01:00:27ID:???↑ここを参考にしてbotを作ってみたのですが、エラーが出て上手くいきません。
参考にして書いた(と言うかほぼ全てコピペです)のが下記のphpです。
http://opmet.s332.xrea.com/twitter_bot.html
(この内容を twitter_bot.php に保存して、下記のサーバにアップ)
Apache 1.3.37
PHP 5.2.5
このPHPを実行したところ、下記のエラーが出ます。
Warning: simplexml_load_file(http://pcod.no-ip.org/yats/search?query=****&rss) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.1 500 INTERNAL SERVER ERROR in /xxxx/twitter_bot.php on line 22
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://pcod.no-ip.org/yats/search?query=****&rss" in /xxxx/twitter_bot.php on line 22
このスレも読みましたが、「調べりゃわかる」という事しか書いておらず、
色々ググってみたのですが、解決方法が見つけられませんでした。
どのように修正すれば解決するでしょうか?
0427nobodyさん
2009/12/06(日) 01:07:16ID:???0428nobodyさん
2009/12/06(日) 01:54:58ID:???そうですね、failed to load external entity とありますからね。
これは、どのように修正すれば解決するでしょうか?
0429nobodyさん
2009/12/06(日) 02:05:31ID:???サイトから情報引っ張ってくるんだったら、サイトの読み込みに失敗したとか、searchの条件に合わないとか
そんな感じなんじゃ
0430nobodyさん
2009/12/06(日) 02:13:57ID:???では、例えば検索語を "hogehoge" にするとします。
http://pcod.no-ip.org/yats/search?query=hogehoge&rss
これをRSSリーダーで取得すると、xmlファイルが正常に取得できています。
つまり、サイトからは読み込みができているわけです。
これが上記のPHPになると必ずエラーが出ます。この点が何故かわからないのです。
xmlファイル自体は正常に取得できていますので、PHPの記述に何らかの問題が
あるのだろう、と推測しているのですが…
くどくて申し訳ありません。
0431nobodyさん
2009/12/06(日) 02:27:44ID:???0432nobodyさん
2009/12/06(日) 03:13:19ID:???某サイト様のをまんまコピペしたんですけど、jobをみると404エラーになるんです
<cronentries>
<cron>
<url>/crontest</url>
<description>crontest the run every 2 minutes</description>
<schedule>every 2 minutes</schedule>
<timezone>Asia/Tokyo</timezone>
</cron>
</cronentries>
のurlエリアはphpのアドレスではないんですよね?
■ このスレッドは過去ログ倉庫に格納されています