したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

スレ立てるほどじゃないその他の質問スレ その2

1名無しさん:2013/05/03(金) 20:58:55
何でもいいので気軽にどうぞ。
誰のどのスクリプトのことでもプログラムが分かる誰かが適当に相談に乗ります。

質問する前に前スレなどを確認し、他に似たようなことがないかどうか確かめてから質問しましょう。
質問するときには必要なことを極力書き込みましょう。そうしないと質問の趣旨とは違う回答が返ってきます。

前スレ: http://jbbs.livedoor.jp/bbs/read.cgi/internet/6629/1259689986/

2名無しさん:2013/05/05(日) 20:14:56
setting.phpの$dataSeparatorを,に変更し、ツイート内容を改行するようにしたところ、Wikiにのっている連投チェックがうまく動作しなくなりました。
twit_log.txtを見たところ、直近の1ツイート分しか記録されていないようです。
これに対しての対処法はありますか?

3名無しさん:2013/05/10(金) 22:32:08
>>2
連投チェックの方も同じ修正をしないといけないかと思います。
そのスクリプトをよく見れば分かるはずです。

4名無しさん:2013/05/11(土) 02:50:35
そっちいじる改行方法もあるのか…
ツイート内容は(UTF-8+LFだから)CR(\f)入れてWeb版で改行表示になるようにしてたわ
通常のでもリプライでも同じで、.php形式にしてる

こんな感じ:
"0.愚者のカード、正位置だ。これは始まらないカード。\f (LF改行がここに入る)
何もかも捨てて身軽になれ、そして自分の思う道を進むがいい。",
行数が増え放題で編集するのがつらいけど。
更新時になんか引っかかってリプライが帰らなくなったりするけど。

5名無しさん:2013/05/11(土) 19:16:40
人工知能どんちゃん(非公式)BOTデス

https://twitter.com/don_tyan_dadon

6名無しさん:2013/05/22(水) 01:43:29
http://www26.atwiki.jp/easybotter_wiki/pages/37.html#id_42d31fdf

特定のユーザー向けのリプライパターンを読み込んだ場合のみ返信ツイートの先頭に"."を加えて
フォロワー全員に向けて表示できるようにする、という改造をしたいのですがアドバイスいただけないでしょうか。

7名無しさん:2013/05/31(金) 15:39:13
wikiの特定のユーザーは自動フォローしない方法を自分なりに書き換えをして入れてみましたが上手くいきません。

自動フォロー返しの所に
foreach($followlist as $id){
//■■xxxはフォロー返ししない■■
if(!preg_match("@bot@i",$id)){
$response = $this->followUser($id);
}
if(empty($response["errors"])){
echo $response["name"]."(@<a href='https://twitter.com/&quot;.$response["screen_name"]."'>".$response["screen_name"]."</a>)をフォローしました<br /><br />";
}
}
}
}

フォローはするんですけど、返さない条件が反映されないようです。
ifが2回あるのも気になっているのですがこの辺りも書き換えが必要なんでしょうか。
何かヒントを頂けると助かります。

8名無しさん:2013/06/01(土) 07:21:39
>>7
最新版でしたら、ユーザーの数字idのみを取得し処理するようになっているからじゃないでしょうか
そのAPIを呼び出す部分を改造すればできそうです

9名無しさん:2013/06/02(日) 15:32:34
>>7です。下げ忘れすみませんでした。

>>8
EBのバージョンは2.1.2です。
ID除外とファイル分けが出来ているので少し書き換えればなんとかなると思ってましたが
数字IDのみっていうのは知りませんでした。
API呼び出しということは、基本的なAPIを叩くための関数のところに改造が必要と言うことでしょうか?

10名無しさん:2013/06/02(日) 22:08:04
>>9
「自動フォロー返しする」の箇所はそうです
https(省略)/ids.jsonからフォロワー、フレンドのid一覧をそれぞれ受け取り、
その差分をフォローする、といった処理になっていると思います
詳しくは「twitter API」で検索すれば出てくる公式文書で説明されています

11名無しさん:2013/07/24(水) 20:02:04
質問させてください。
Easybotterを使ってbotを作っているのですが学習機能をつけたいと
思っています。過去スレに似たような質問があったのですが
そこで紹介されているサイトが閉鎖されていて作り方がわかりません。
自分でイロイロサイトも調べてみたつもりなのですが発見できませんでした。
説明サイトがありましたら教えてください。

12名無しさん:2013/07/29(月) 16:27:50
辞書機能と学習機能って違うんだろうか?
○○→△△って話しかけると覚えてくれるっていうあれじゃなくて?
もし私が思っているものと同じなら辞書機能でぐぐれば2.0版も2.1版も出てくるし少し前にそんな書き込みここの2.0改造のとこ?にもあったような。
違うのだったらごめんなさい。

13名無しさん:2013/08/04(日) 11:29:16
質問です。
EasyBotterで改行を入れてAAをつぶやかせたいのですが改行させる方法はあるのでしょうか?
<br \>や\nなどを入れてもそのまま表示されたので違うのかなと

14名無しさん:2013/08/06(火) 01:07:32
CR改行の指定をして、\f+改行で改行されるけど(Web版準拠)
閲覧クライアント次第で改行が無かったことにされる

"    。 \f
    〉\f
  ○ノ \f
 <ヽ |\f
 i!i/, |i!ii ガタン\f",

甲殻

15名無しさん:2013/08/14(水) 14:03:05
前に改行改造を載せてたサイトさんがあったのですが、今繋がらないみたいですので簡単に……。
data.txt、data.php関係なく、改行させたい部分に{kaigyou}というタグを入れて、つぶやき自体はいつもと同じ一行で書き込み。

Easybotter.phpの
//文章を変換する
function convertText($text, $reply = FALSE){

の下に
$text = str_replace("{kaigyou}","\n",$text);

を加えると{id}や{name}みたいに変換して投稿されます。

16名無しさん:2013/09/12(木) 12:18:16
>>15さん

改行の件で初心者質問スレで質問した者です。

そちらの情報を元に編集してみましたが、
//ログの順番を並び替える
とある箇所からエラーが出ました。
イズレも、\nの記述かある箇所でした。

また、
$text = str_replace("{kaigyou}","\n",$text);
と記述すると、この行でエラーがでていましたので、
$text = str_replace("{kaigyou}",("\n"),$text);

としましたが、ログ順番並び替え の方でまたエラーが出ていました。
data.phpで
"aaa
aaaaaa
aaaaaaaaa",と記述すると改行は可能なので、
重複回避を導入してランダムで運用使用と思います。

超亀レスで申し訳ありません

17名無しさん:2013/09/12(木) 15:55:50
>>16
//順番にポストするの関数の呼び出し順は
makeTweet(//発言を作る)→rotateData(//ログの順番を並び替える)→convertText(//文章を変換する)なので
//ログの順番を並び替えるの段階で、改行変化(\n変化)はされていません。
どこか記述がおかしいのだと思われます。

18名無しさん:2013/09/17(火) 17:43:45
botの定期ポストを24時から5時の間停止させたいのですが、
やり方が分かりません。

if(($now_g > '1') && ($now_g < '7') ){

上記のようなやり方で何とかできないものでしょうか

19名無しさん:2013/09/17(火) 23:46:39
if (date("G") <= 8 || date("G") >= 18){
$response = $eb->postRandom("data.php");
}
elseif (date("G") == 9){
$response = $eb->postRandom("nemu.php");
}
elseif (date("G") == 17){
$response = $eb->postRandom("oha.php");
}
elseif ((date("G") >= 10 && date("G") <= 16){
$response = $eb->postRandom("data2.php");
}

通常POSTをさせる条件式を変更して対応すれば行けると思われ
(上記は夜型=朝8時までと18時以降通常POSTで、9時・17時にそれぞれお休みおはようを言う、日中は寝言を呟く)

みんなEclipse使えばいいのに。デバッグ捗るのに

20>19だけど:2013/09/17(火) 23:48:59
if ((date("G") >= 6 && date("G") <= 23){
$response = $eb->postRandom("data.php");
}
POSTしてから気付いたけどこのあたりの文でいけたね、ごめんね

21名無しさん:2013/09/18(水) 00:22:14
5時までだから
if (5 <= date("G") && date("G") <= 23){
じゃね

22名無しさん:2013/09/18(水) 00:47:32
24時~5時には動かしたくないのだから、6時~23時に動くように指定するのが正解ですよ

>>18
非公式wikiに方法載ってますよ
コピペしても意味わからないままでしょうから見てみてください

23名無しさん:2013/09/18(水) 20:02:16
>>19-22
下調べが甘かったにも関わらず、ご親切にどうもありがとうございました。
>>22さん、誘導ありがとうございます!

おかげ様で無事修正することができました!助かりました。

24名無しさん:2013/09/18(水) 21:40:10
プロぐらみんぎゅってたまに『発想の転換』を求められるよね
24-5字時の間POST停止、じゃなくて6-23時POSTとか

同ジャンルのキャラ誕生日イベントを仕込もうと思うんだけど、どんなトリガーを入れたらいいのか悩んでしまう
特定語句のリプライを受けてフラグ作成、フラグが立ったら通常POSTをやめてイベントモードへ、
一定時間(誕生日終了)後にイベントモード棄却とかってやってる人いる?
この方法をアレンジすればたぶん、震災とかみたいな確変が来ても対応できそうとは思うんだけど
あんまし良さそうな方策が思いつかない

25名無しさん:2013/09/18(水) 23:46:42
5時までって5時0分の瞬間まで停止じゃないのか。
何分間隔でpostしてるのか知らんけど

26名無しさん:2013/09/28(土) 13:12:26
BOTに正座占いの機能をつけたく、http://jugemkey.jp/api/waf/api.phpこちらの無料の占いを利用して、EASYBOTTERに組み込みたいと思っています。
function convertText($text, $reply - FALSE){ 以降の関数の最後に

2726:2013/09/28(土) 13:21:25
すみません、途中送信してしまいました。スレ汚し申し訳ありません。

if(strpos($text,"{fortune}") !== FALSE){
if(preg_match("/明日|あした|あす/", (string)$reply["text"])){$day = "明日";}elseif(preg_match("/明後日|あさって/", (string)$reply["text"])){$day = "明後日";}else{$day = "今日";}
$star = preg_replace("/おひつじ座|牡羊座|おうし座|牡牛座|ふたご座|双子座|かに座|蟹座|しし座|獅子座|おとめ座|乙女座|てんびん座|天秤座|さそり座|蠍座|いて座|射手座|やぎ座|山羊座|みずがめ座|水瓶座|うお座|魚座/","$2",$reply["text"]);
$fortune = $this->fortuneTwit($day,$star,1);
$text = str_replace("{fortune}",$fortune,$text);
}


と記述し、


function checkApi($resources = "statuses"){
$url = "https://api.twitter.com/1.1/application/rate_limit_status.json&quot;;
if ($resources) {
$url .= '?resources=' . $resources;
}
$response = $this->_getData($url);
var_dump($response);
}
の下の部分に

function fortuneTwit($day = "今日",$star,$flag){
$y = date("Y");$m = date("n");$d = date("d");
if(preg_match("/明日|あした|あす/", $day)){$d = $d + 1;$day = "明日";}elseif(preg_match("/明後日|あさって/", $day)){$d = $d + 2;$day = "明後日";}else{$day = "今日";}
$star_array = array(
//星座配列
"おひつじ座"=> "0",
"おうし座"=> "1",
"ふたご座"=> "2",
"かに座"=> "3",
"しし座"=> "4",
"おとめ座"=> "5",
"てんびん座"=> "6",
"さそり座"=> "7",
"いて座"=> "8",
"やぎ座"=> "9",
"みずがめ座"=> "10",
"うお座"=> "11",


);
foreach($star_array as $star_name => $star_nameNo){if(preg_match("/".$star_name."/u",$star)){$starName = $star_name;break;}}
//データの取得
$date = "$y/$m/$d";
$url = file_get_contents("http://api.jugemkey.jp/api/horoscope/free/&quot;.$date.&quot;?callback=display&quot;);
$json = json_decode($url,true);
$star_date = array_shift($json["horoscope"]);
$star = $star_date["$star_nameNo"];
$content = $star["content"];
$item = $star["item"];//ラッキーアイテム
$color = $star["color"];//ラッキーカラー
//出力するテキスト
$fortune = $day."の".$starName."の運勢は"、.$content."。ラッキーアイテムは、".$item."。ラッキーカラーは、".$color."だよ";
return $fortune;
}

と記述し、replypattern.phpに

"運勢"=> array(
"{fortune}",

としたのですが、エラーを吐きます。

$star = preg_replace("/おひつじ座|牡羊座|おうし座|牡牛座|ふたご座|双子座|かに座|蟹座|しし座|獅子座|おとめ座|乙女座|てんびん座|天秤座|さそり座|蠍座|いて座|射手座|やぎ座|山羊座|みずがめ座|水瓶座|うお座|魚座/","$2",$reply["text"]);

このあたりの記述と星座配列のあたりでエラーを吐いているようなのですが、正規表現はどのように記述すれば良いのか、どなたかご教示下されば幸いです。

長くなってしまい、大変申し訳ありません。

28名無しさん:2013/10/03(木) 02:52:14
>>26
何をどうしたいのか解りませんが、
例えば$reply["text"]に『私は双子座でーす☆』と入っていたら$starの中に入るのは『私は$2でーす☆』ですよ。
$2の定義が見当らないですし、変数は先頭文字が数字だとエラーを起こします。

2926:2013/10/05(土) 07:05:37
>>28さん

お礼が遅くなってしまい大変申し訳ありません。
「今日の○○座の運勢は?」と聞かれた時に、http://api.jugemkey.jp/api/horoscope/free/ から内容を引っ張ってきて答えるようにしたいです。
$star = preg_replace("/ の中の星座を抜き出す正規表現が良くわからなくて質問させて頂いたのですが、大分勉強不足のようです。
同じような感じで天気予報をさせているので、そのようにしたかったのですが。
簡潔かつご丁寧な説明ありがとうございます。もっと頑張って勉強します。本当にありがとうございます。

30名無しさん:2013/10/05(土) 21:06:22
>>29
置き換えでなく参照ですね。理解いたしました。
こちらでテストしてみて下さい。

<?php

$reply["text"] = "私は双子座でーす☆";
$star = preg_replace("/.*(おひつじ座|牡羊座|おうし座|牡牛座|ふたご座|双子座|かに座|蟹座|しし座|獅子座|おとめ座|乙女座|てんびん座|天秤座|さそり座|蠍座|いて座|射手座|やぎ座|山羊座|みずがめ座|水瓶座|うお座|魚座).*/","$1",$reply["text"]);
print_r ($star);

?>

正規表現が入ってて解りにくいので説明しますが、
$memo = "これ参照したいよー。";
$san = preg_replace("/.*(参照).*/","もう$1してやったよ
!",$memo);
上の$sanは『もう参照してやったよ!』という言葉が入ります。
こんな具合に()でくくられた言葉が$1に入るということです。

preg_replaceはそれでいいと思いますが、ざっとやり方を見るとおひつじ座と牡羊座は同じだよーと指定する必要などもありますね。

3126:2013/10/06(日) 07:19:40
>>30さん
こちらの勉強・理解不足でしたのに、重ねてのご丁寧なご説明ありがとうございます!
とてもわかりやすく、参考になりました。
ご説明を読み返して、構造がより理解出来た気がします。
他のサーバーのご利用者の方にご迷惑をおかけしないよう、>>30さんが書いて下さった構文でローカルテストをしっかり重ねて
きちんと動くように頑張りたいと思います。
何度もご丁寧に、本当にありがとうございました。感謝致します。

32名無しさん:2013/10/08(火) 00:32:57
botについてじゃなく、Twitterの事で聞きたい事があり書き込みさせて頂きました。ヘルプセンターを見ても分からず、なかなか解決できないので困っています。
こんな事を書き込むところじゃない事は分かっているのですが、どうか教えて下さる方はいらっしゃらないでしょうか?
不快な思いをさせてしまったらごめんなさい。

33名無しさん:2013/10/10(木) 03:42:14
>>1に「何でもいいので気軽にどうぞ」ってあるからいいような気もするけど…
どうか教えてくださいつっても内容が書いてないのでどうにもできんのですが

34sage:2013/10/13(日) 05:28:29
>>32 とりあえず書いてみたらいかがですか

35名無しさん:2013/10/17(木) 02:21:59
>>33 >>34 すみません、ありがとうございます。

内容は、複数アカウントを作った時のことです。
Twitterでアカウントが2つほしくて作ったんですが、新しく作ったのですがヘッダーを変更しても動かなかったので初めのアカウント(以下A)をログインし直すと作ったアカウント(以下B)に行けなくなりました。
Bは存在しているのですが、Aの設定を開くと消えていてアプリじゃなくウェブからじゃないと行けなくなっています。一時はログインも出来なかったので、Aのパスワードを作り直し(作り直す前と同じ、Aと同じにしましたが)ログインしてみると呟いたりDMを送ったりなど、何か動作をたびにログインもページが表示されます。
AからBに行けないこと、Bの動作の遅さ(ログインしているのに表示が出る、ヘッダーなどの変更ができない)に困っています。
始めて1年もたたず、おまけに機械にそんなに強くないためサッパリです...orz
ヘルプセンターにもどの悩みに当てはまるのか分からず何もできませんでした。良ければ何か分かる方教えて頂きたいです。
長々と拙い文章を失礼しました。

36名無しさん:2013/10/19(土) 15:24:31
【バージョン】 Ver2.1.2
【設置鯖名】 @pages
【PHPのバージョン】PHP5.2
【手動】 動く
【実行】 WEBCRON
【実行間隔】 5分間隔
【不明点】 ニックネーム機能について

こちらで良かったのか判らないのですが。ニックネーム機能を使おうと思いここ(tp://hake.xii.jp/easybotter-nickname-1252/)のを使わせてもらったのですが、特定のアカウント名のニックネームが反映されません。
もともとbot同士の会話時の呼び名を変えたくて組み込んだのですが、そこで引っ掛かっている様で…いろいろ試してみたのですがうまく行きません。
nicknames.txtにはこの様に書かれています。

アカウントtニックネーム(反映される)
botアカウント_bottニックネーム(反映されない)

tがひっかかっているのか? とも思ってその辺をいじってみても、うまく行かず…何が原因なのでしょうか?
(ちなみにその前にニックネームの後ろにnrが表示される事があり、\r\nに変更していまの形になっています)

37名無しさん:2013/10/21(月) 19:27:15
>>36
当方でも組み込んでいますが、正常に動作しています。
当該サイトのものをそのまま使っているとnicknames.txtは
アカウント[タブ]ニックネーム
で記録されるはずですが、そもそもそこが違う気がします。
よくあるのがfile_get_contentsの書式が違うとかがあったりします。
それ以外だとset_nickname.phpとかget_nickname.phpが実はSHIFT-JISでアップロードされてるとか(私はそれで引っかかりました)もありますので、その辺りを確認してみてはいかがでしょうか。

38sage:2013/10/23(水) 09:37:25
>>35さん
今更ですが、お使いのアプリが複数アカウントに対応してないのではありませんか?
Webからならいけるのであれば、原因はそれだと思うのですが…。
お使いのアプリやブラウザが何かわからないのではっきりとは申し上げられませんが。
比較サイトなどを見て、お使いのアプリやブラウザがどのような機能をもっているのかお調べになったらいかがでしょうか。
また、最近ではアプリからプロフィール画像などの変更をすると卵アイコンに戻ってしまうという
報告も良く聞きますので、それも一因ではないかと…。

39名無しさん:2013/10/23(水) 09:52:47
>>35さん
>>38さん
その機能、当方も組み込みたいのですが書かれている通りに記入・作成してもうまくいかず…。
何か手を加えたりしていらっしゃいますか?

40名無しさん:2013/10/25(金) 22:05:02
>>37
ありがとうございます。確認してタブが入るようにしました。
入った状態でset_nickname.phpとget_nickname.phpをutf-8でアップロードするようにした、筈なんですが、やはり名前がデフォルトのままです。
使っているFTPがUTF-8に設定した状態でアップロードする方法が判らずアップロードの後に変換しているのですが、その辺りが良くないのか…
file_get_contentsも書き直し、埋め込み直しをしましたが、特に変化もないようです。
もう少し悩んでみて、ダメだったら別の方のを試してみようと思います、ありがとうございました。

41名無しさん:2013/10/26(土) 04:40:01
>>36>>37>>40
そこのサイトの機能、>>39さんと同じように組み込めないんですが、他に何か改造してらっしゃったりします?
そのままあげると、わかりました、○と呼びます、とは言うのですがファイルには記入されない状態です。
パーミッションも変えたのですが。他の改造をしてあるとダメなんでしょうか?
ただ、まっさらな状態のEasyBotter.phpでローカルテストしてもうまくいかないんですが…。

42名無しさん:2013/10/28(月) 00:49:24
>>41
36と40です。
わたしは今回のニックネーム機能がはじめての改造です。
nicknames.txtに記入されていないのはset_nickname.phpがうまく動いていない、ということなのでしょうか。
その辺りは正常に動いていたので、何かあるとしたらアドレス記載ミスかエンコードくらいしか思い当たらず…すいません。
改造しすぎると不具合はどうしても起きるようですよね、でもいろんな機能を使ったbotはありますし…。

43名無しさん:2013/10/29(火) 00:21:35
【バージョン】 Ver2.1.2
【設置鯖名】 @pages
【PHPのバージョン】PHP5.3.3
【手動】 動く
【実行】 WEBCRON
【実行間隔】 2分間隔
【不明点】 リプライのループについて

失礼します。手持ちのbot「A」と「B」のAPIを1.1に書き換え、動作させてみました。
そうしたら、以前は上手くいっていたEasybotter使用のbot同士のリプライ回数制御がきかなくなってしまいました。
非公式wikiにあったID別設定を使って相手のbotの名前を指定してあり、リプライループ設定も4にしているのですが
AとBのリプライ合戦が止まらず、TLを埋め尽くしてしまっています。
同様に設置している友人のbot「C」とは4回程度でリプライが止まるのですが…同じような症状の方はいらっしゃいますでしょうか。
解決策などご存じの方がおられましたら、お教えいただけますと助かります。よろしくお願いいたします。

44名無しさん:2013/10/31(木) 05:39:34
>>42さん ありがとうございます。 set_nicknameは、サーバにアップする以外に何かしなくてはいけないんでしょうか?
コードとにらめっこをしていたんですがどうしてもわからず…。エンコードは合っていました。
やはり機能のつけすぎでしょうか。
どうもありがとうございました。

45名無しさん:2013/12/01(日) 16:11:15
easybotterをつかっています。リプライに関してなのですが、
例えば「○○ちゃんかっこいい」とフォロワーから言われたら、
「かっこいいといってくれてありがとう」と返したいのですが、
botは「○○ちゃん!?照れくさいなあ」と、「ちゃん付けした方に」反応してしまいます。
リプライ優先順位にはちゃん付け呼ばわりされた時は一番最後にプログラム記述しているのですが、
発言者によって「○○ちゃん」が先に来た時はちゃん付けの方に反応してしまいます。
そうではなく、「かっこいい」と言われた方に反応出来るような正規表現は無いでしょうか。
何か対策法がありましたら、お教え戴けると助かります。よろしくお願い致します。

46名無しさん:2013/12/01(日) 16:13:40
easybotterをつかっています。リプライに関してなのですが、
例えば「○○ちゃんかっこいい」とフォロワーから言われたら、
「かっこいいといってくれてありがとう」と返したいのですが、
botは「○○ちゃん!?照れくさいなあ」と、「ちゃん付けした方に」反応してしまいます。
リプライ優先順位にはちゃん付け呼ばわりされた時は一番最後にプログラム記述しているのですが、
発言者によって「○○ちゃん」が先に来た時はちゃん付けの方に反応してしまいます。
そうではなく、「かっこいい」と言われた方に反応出来るような、
”先頭に「○○ちゃん」が来た時にはスルーする”などの正規表現は無いでしょうか。
何か対策法がありましたら、お教え戴けると助かります。よろしくお願い致します。

47名無しさん:2013/12/13(金) 05:18:00
>>46
否定戻り読みですね。
http://d.hatena.ne.jp/satosystems/20100519/1274237784

48名無しさん:2014/01/12(日) 14:42:37
ここでお聞きしていいのか分からないのですがどうか教えて下さい。
管理が難しくなってきたのでこのたびbotを削除しようと思っています。
cronはPython+GAEとeclipse+GAEの2種類を試していて、Pythonをメインに使っていました。
botを削除するに当たってGAEの削除の仕方は分かるのですが、
パソコン内に作られたPythonとeclipseのファイルはそのまま削除するだけでいいのでしょうか?
何かしておかなくてはいけないことなどありますでしょうか?

49名無しさん:2014/01/16(木) 04:42:28
こちらでの質問であっているのかどうかわからないのですが、
特定のリプライ反応に関して困っていてどうしても自力で直せないので、
すみませんがどうか質問させて下さい。

オウム返し機能を利用していて(どのサイトさんを参考にしたのか、探しても再発見出来ませんでした)、
リプライパターンのファイルに、

==================================
//「つ【◯◯】」という発言を受け取るとオウム返しする正規表現のサンプルです
"([^\sつ【]+?)】"=> array(
"$1",
),
==================================

という記述をしています。
これまでは普通に「つ【○○】」で反応していたと思い込んでいたのですが、昨日、
「2014年1月15日をもって、tp://api.twitter〜へのアクセスがSSL(HTTPS)のみとなります。HTTPを使えなくなります。」
に対応するための変更の後テストしたところ、
「【○○】」だけのリプライにオウム返ししてしまっている事に気づきました。
これを「つ【○○】」というように、「つ」も含めたリプライだけに反応させるようにするには、
どのように記述すればよいのでしょうか。
初歩的な質問で申し訳ありませんが、どうしてもわからないので、ご教授願えれば幸いです。

50名無しさん:2014/01/16(木) 14:31:05
【バージョン】 Ver2.1.2
【設置鯖名】
【PHPのバージョン】
【手動】 動く
【実行】
【実行間隔】 2分間隔
【不明点】 ユーザをフォローしてくれない

Easybotter.php 内の自動フォロー返しする関数↓
function autoFollow()
において、フォローする際に条件付けをしました。

function autoFollow(){
$followers = $this->getFollowers();
$friends = $this->getFriends();
$followlist = array_diff($followers["ids"], $friends["ids"]);
$tw_data = file( "500tw.txt" ); //500ツイート以下だったユーザIDは500tw.txtに書き込んでおいてあるので、ここで配列に入力
if($followlist){
foreach($followlist as $id){
if(in_array($id,$tw_data) === FALSE){ //500tw.txt内にまだユーザIDがなかったら、ツイート数を取得
$tc = $this->showProfile($id); //ツイート数を$tcに代入
}else{
$tc = -1; //500tw.txt内にユーザIDがあるので無視
}
if( $tc > 500 ){ //ツイート数が500より多いならフォロー
$response = $this->followUser($id);
if(empty($response["errors"])){
     echo $response["name"]."をフォローしました<br /><br />";
}
}elseif( $tc < 0 ){

}else{ //ツイート数500以下なら500tw.txtにユーザID追加しておく
$fp = fopen("500tw.txt", "a");
fwrite($fp, $id."\n");
fclose($fp);
}
}
}
}

条件は、フォローしてないユーザのツイート数を取得し、500ツイート以下のユーザはフォローしない
みたいな感じです。
相互フォロー状態じゃないユーザのツイート数を取得し、500ツイート以下かどうかを判別するところまではうまくいったのですが、
なぜか$response = $this->followUser($id); によるユーザのフォローができません。
原因がわかる方はいらっしゃいますか?

ちなみにshowProfile()は自分で作った関数で、引数にユーザID、返り値は指定したユーザIDのツイート数(statuses_count)です。

51NEO:2014/01/16(木) 15:34:19
こんにちは!
easybotterを使っています。
例のEasyBotterのアクセスキーが使えなくなっている件があってから、
独自Oauth認証を設定して動かしていましたら、
1月15日の4:00以降だと思いますが、また動かなくなってしまいました。

これはまた新しい独自アプリを作るしかないのでしょうか?

52名無しさん:2014/01/16(木) 18:19:27
Twitter APIの仕様変更でJanetterなど一部アプリが閲覧不能に 対処方法は?
http://nlab.itmedia.co.jp/nl/articles/1401/15/news073.html

上記の状況のようですね。

『使用プロトコルが「http」から「https」に変わったため』とのことですが、例えば「EasyBotter.php」の「http」を「https」に書き換える程度で動くのでしょうか。

5352:2014/01/16(木) 18:38:03
自己レスです

http://twitter を https://twitter に
http://api.twitter を https://api.twitter に

全て変更したところ動きました。

54名無しさん:2014/01/16(木) 20:40:02
試行錯誤してみましたが、どうしても直らないので質問させて頂きます

【バージョン】 Ver2.1.2
【設置鯖名】 @pages
【PHPのバージョン】
【手動】通常ツイートのみ動く
【実行】setcronjob
【実行間隔】 30分間隔
【不明点】 リプライを返さない

http://apiの部分をhttpsに修正したり
http://blog.livedoor.jp/silvia_popn/archives/1657398.htmlの方法を試してみたのですが、どうも反応しません
具体的には通常時bot.phpにアクセスすると
"
〇〇分以内に受け取った未返答のリプライはないようです。

投稿するメッセージがないようです。
"

botへリプライを送ってからbot.phpにアクセスすると
"

投稿するメッセージがないようです。
"
という風に〇〇分以内に〜の部分が消えるだけで、bot自体はリプライを返してくれません

何が原因なのでしょうか
又、何か解決策はありませんでしょうか

55NEO:2014/01/17(金) 03:25:09
>>53
ありがとうございます!
早速試してみます。

56名無しさん:2014/01/19(日) 08:35:19
>54
リプライの書き方ミスだと思われる。

57名無しさん:2014/01/19(日) 17:31:28
>>56
ありあがとうございます!
調べてみたところ、やっぱりbot.phpのリプライの書き方がおかしかったようです。
助かりました!!

58名無しさん:2014/01/22(水) 16:13:49
こちらhttp://bit.ly/1fYJ2wLの機能を使用しています。
生成されたツイートの中に括弧・鍵括弧があれば、ツイートの最初や最後、他の括弧の前などで閉じる能力があると自然さがあっていいのではないか?と考えているのですが、何処にどの様に書き加えれば可能でしょうか。

59名無しさん:2014/01/22(水) 16:15:15
こちらhttp://bit.ly/1fYJ2wLのマルコフ連鎖機能を使用しています。
生成されたツイートの中に括弧・鍵括弧があれば、ツイートの最初や最後、他の括弧の前などで閉じる能力があると自然さがあっていいのではないか?と考えているのですが、何処にどの様に書き加えれば可能でしょうか。

60名無しさん:2014/01/22(水) 16:15:45
こちらhttp://bit.ly/1fYJ2wLのマルコフ連鎖機能を使用しています。
生成されたツイートの中に括弧・鍵括弧があれば、ツイートの最初や最後、他の括弧の前などで閉じる能力があると自然さがあっていいのではないか?と考えているのですが、何処にどの様に書き加えれば可能でしょうか。

6158〜60:2014/01/22(水) 16:17:47
ああ……すみません ひどい手違いが……

62名無しさん:2014/02/09(日) 21:13:36
ツイッターAPI関係でちょっと質問です。
昨日から背景画像アップロードのAPIが急にうまくいかなくなったんだけど、
他にも同じ症状の人いますか? つい一昨日までうまく動いてたんですが……
いないんなら、レンサバに原因あるかもしれないのでそっち方面考えようと思います。
動いてるよーって人も教えて下さると助かります。よろしくお願いします。
ちなみに前に設定してあった背景画像が消えるので一応APIでアクセスしてはいるようです。

6362:2014/02/20(木) 01:59:55
62で質問をした者です。
自己解決しましたので、質問の場所をお借りした身としてご報告を。
今まではパラメーターでファイル名しか渡していなかったのですが、
背景画像を表示するかどうかを指定する「use=」で表示をさす「1」を
同時に渡すようにしたら上手くいようになりました。
REST APIの解説には更新などなかったようですが、もしかしたら
画像をアップロードする際には「use」が必須になったのかもしれません。以上です。

64名無し:2014/03/23(日) 22:43:42
PHPの書き方がさっぱりなので質問させて頂きます
【バージョン】 Ver2.1.3
【設置鯖名】 @pages
【PHPのバージョン】
【手動】動く
【実行】google appsのcronを使ってます
【実行間隔】 数時間おき
【不明点】 外部サービスで生成した文字列をツイートする方法
診断メーカーを定期的につぶやくbotを作りたくてEasybotをはじめたのですが、
参考ページを見ても全然分からないので質問させて下さい。
診断メーカーに名前を入力させて
返ってきた答えを変数($statusだと思います)に代入するには、
どのファイルをどのように書き換えたら良いのでしょうか?

65名無しさん:2014/04/05(土) 05:42:26
ここで聞くことじゃないのかもしれないが、非公式wikiのリンクにある「簡単じゃない twitter bot」の作り方メモ、認証してもらえといわれるのだが誰に認証してもらえばいいのやら。

66名無しさん:2014/04/05(土) 09:22:34
>>65
twitterやってるから探せば見つかるよ
その人が公開してる別スクリプトのサイトがあるっしょ?

67名無しさん:2014/04/10(木) 14:31:27
>>66
探し方が悪いのかもしれないが見つけられない・・・

68名無しさん:2014/04/30(水) 04:35:33
>>18-25
プログラム書き換えて定時ポスト実現してるんだ
自宅鯖でcron使ってるんでその発想が全然なかったw
$ php5 ./bot.php > temp.html

69名無しさん:2014/05/18(日) 20:39:07
どちらに投稿すべきか分からなかったのでこちらへ投稿させていただきます。

【バージョン】 Ver.2.0x
【設置鯖名】 @page
【PHPのバージョン】
【手動】 動かない
【実行】 Google Apps Script
【実行間隔】 2時間
【不明点】
ランダムポストのファイル(data.txt)を公式サイトを見ながらphpファイルにしたところ、画面が真っ白になります。
txtファイルだとつぶやけるのですが…ファイルの最初には<?phpをいれてあります。
つぶやきを改行させたいのでphpファイルを使用しようと思っていますが、txtファイルでも改行できるのでしたら、
その方法を教えていただけるとありがたいです。

70名無しさん:2014/05/20(火) 11:18:52
【バージョン】 Ver.2.1.3
【設置鯖名】 @page 今後Xrea移設予定
自動フォロー返しですが、これまでフォロワーされている人にこの機能を適用させたくないのですがどうすればいいのでしょう?
教えてください。

7170:2014/05/20(火) 13:09:32
申し訳ありません、70ですが非公式wikiで特定アカウントを制限するという項目があったのでそれを参考にいじってみます。

72名無しさん:2014/05/23(金) 08:18:31
現在上がってるものをDLして、それを新しいサーバーにあげればいいだけです。
データが引き継がれますから。

73名無しさん:2014/06/29(日) 00:43:47
oAuth認証用ページのリンククリックすると
> このページに対するリクエスト・トークンがありません。
って出ます。まあ自身のapiキー使えばいいだけなんだが


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

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