「ver.2.0/応用/機能追加/reply」の編集履歴(バックアップ)一覧はこちら
「ver.2.0/応用/機能追加/reply」(2015/03/22 (日) 19:56:28) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
※wikiの編集が分からなくて、追加してほしい項目がある場合はページ下の「コメント」から誰かに頼んで下さい。
#contents
*改造方法を紹介するスレにあった「単語拾い」をver.2.0で使いたい [#c1629660]
//[[フッターバグの修正案>ver.2.0*現状バグ]]を利用します → ''if(preg_match("@{.+?}@",$status) == 1){}'' を外しておく
EasyBotter.php内
if(strpos($text,"{tweet}") !== FALSE && !empty($reply)){
$tweet = preg_replace("@\.?\@[a-zA-Z0-9-_]+\s@u","",$reply->text);
$text = str_replace("{tweet}",$tweet,$text);
}
//フッターを追加
$text .= $this->_footer;
の直前に、以下を追記する。
//■■ここから名詞拾い■■
if(strpos($text,"{ran_meishi}") !== FALSE && !empty($reply)){
//アプリケーションID
$apiKey = "***********************";
$apitweet = preg_replace("@\.?\@[a-zA-Z0-9-_]+\s@u","",$reply->text);
$apiurl = "http://jlp.yahooapis.jp/MAService/V1/parse?appid=".$apiKey."&filter=9&sentence=".$apitweet;
$apirss = file_get_contents($apiurl);
$apixml = simplexml_load_string($apirss);
//配列「meishi」を作る
$meishi = array();
// 特定の単語、指定字数以下の名詞を弾きながら配列に名詞を追加
foreach($apixml->ma_result->word_list->word as $apiitem)
{
//拾いたくない単語
if ((ereg("ダタラ|モスマン|モコイ", $apiitem->surface)==False) && (mb_strlen($apiitem->surface) > 3*2)){
$meishi[]=$apiitem->surface;
}
}
//リプライの中に名詞がない場合の単語をセット(複数設定可)
if ($meishi[0] == ""){$meishi = array("<censored>","×××","■■■");}
//名詞をランダムに選ぶ
$ran_meishi = $meishi[array_rand($meishi)];
//名詞を変換する
$text = ereg_replace("{ran_meishi}", "$ran_meishi", $text);
}
**備考 [#e06b9c91]
[[ぼっと倉庫>http://blog.livedoor.jp/bot_1go/archives/1733069.html]]がソースです。
使い方はこちらのサイトの解説をよく見ること。
*自動フォロー返しした時にリプライで知らせたい [#ycc2942f]
EasyBotter.php内
//自動フォロー返し
function autoFollow(){
$response = $this->getFollowers();
$followList = array();
foreach($response as $user){
$follow = (string)$user->following;
if($follow == "false"){
$followList[] = (string)$user->screen_name;
}
}
foreach($followList as $screen_name){
$response = $this->followUser($screen_name);
}
}
とある部分を探す。
foreach($followList as $screen_name){
$response = $this->followUser($screen_name);
}
の直後に
//■■フォローした時にリプライを送る■■
foreach($followList as $rscreen_name){
$value = array("status"=>"@{$rscreen_name} フォロー完了しました!");
$response = $this->setUpdate($value);
$result = $this->showResult($response);
$results[] = $result;
}
を入れる。
「フォロー完了しました!」は自由に変更してもOK。
//screen_name→rscreen_name修正 4.16
*鍵付きの人へ何度も話しかけてしまう場合 [#q1c3b296]
[[BBSより転載です。>http://jbbs.livedoor.jp/bbs/read.cgi/internet/6629/1265625817/519]]
EasyBotter.php内
//自動フォロー返し
function autoFollow(){
(略)
if($follow == "false"){
を
//自動フォロー返し
function autoFollow(){
(略)
if($follow == "false" && $user->protected == "false"){
と変更する。
鍵付きの人へフォロー返しを行いません。
*正規表現を使った言葉返しで、言葉遊びをさせる(文字列の並びを変える。) [#x3c977be]
EasyBotter.php内
//リプライを作る
(略)
//リプライパターンと照合
(略)
for($i=1;$i <count($matches);$i++){
$p = "$".$i;
$status = str_replace($p,$matches[$i],$status);
}
を探す。
$status = str_replace($p,$matches[$i],$status);
を
//■■言葉遊びする■■
if(preg_match("/言葉遊び/u",$status)){
$kotoba_asobi = $this->mb_str_shuffle($matches[$i],"UTF-8");
}else{
$kotoba_asobi = $matches[$i];
}
$status = str_replace($p,$kotoba_asobi,$status);
に変更する。
EasyBotter.php内ラスト
}
?>
の直前に
function mb_str_shuffle($str,$enc){
$buff = array();
while ($len = mb_strlen($str,$enc)) {
$buff[] = mb_substr($str,0,1,$enc);
$str = mb_substr($str,1,$len,$enc);
}
shuffle($buff);
return implode('',$buff);
}
を追記する。
**備考 [#ucd102de]
mb_str_shuffle()は[[どう書く?org beta>http://ja.doukaku.org/249/nested/]]ソースです。
「言葉遊び」部分はリプライパターンに応じて変更して下さい。
この一例はリプライパターンで「『$1』…言葉遊びしてみたよ~♪」とリプライさせる時の例になります。
「『$1』…言葉遊びしてみたよ~♪」とリプライする時のみ、$1を言葉遊びさせます。
言葉遊び:$1が「あいうえお」だとすると、「あおういえ」「うえあおい」等とランダムに文字列を入れ替えます。
*自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版) [#v3f312b5]
「フォローして」「リムーブして」とリプライをした時にBOTに対象への処理を行う。
※実際は「フォローして」「リムーブして」等の簡単な言葉ではないものを推薦。「フォローして。○○○(BOTの名前)」等。
reply_pattern.php $data = array();内に
//半自動フォロー、リムーブ
"フォローして"=> array(
"[[AUTOFOLLOW]]フォローしました",
"[[AUTOFOLLOW]]フォローしたよ",
),
"リムーブして"=> array(
"[[AUTOREMOVE]]リムーブしました",
"[[AUTOREMOVE]]リムーブしたよ",
),
を追記。
EasyBotter.php内
//リプライを作る
(略)
//リプライパターンと照合
(略)
$re["status"] = "@".$reply_name." ".$status;
を探す。
$re["status"] = "@".$reply_name." ".$status;
を
switch(true){
//半自動フォロー
case stristr($status, "[[AUTOFOLLOW]]"):
$status = str_replace("[[AUTOFOLLOW]]","",$status);
$followreq = $this->consumer->sendRequest("http://api.twitter.com/1/friendships/create.json",array("screen_name" => $reply["user"]["screen_name"]),"POST");
$re["status"] = "@".$reply["user"]["screen_name"]." ".$status;
break;
//半自動リムーブ
case stristr($status, "[[AUTOREMOVE]]"):
$status = str_replace("[[AUTOREMOVE]]","",$status);
$removereq = $this->consumer->sendRequest("http://api.twitter.com/1/friendships/destroy.json",array("screen_name" => $reply["user"]["screen_name"]),"POST");
$re["status"] = "@".$reply["user"]["screen_name"]." ".$status;
break;
//その他
default:
$re["status"] = "@".$reply["user"]["screen_name"]." ".$status;
}
に書き換える。
**備考:フォロー告知をDMにしたい場合(リムーブは出来ません。) [#b0266ba0]
switch(true){
//半自動フォロー
case stristr($status, "[[AUTOFOLLOW]]"):
$statusxxx = str_replace("[[AUTOFOLLOW]]","",$status);
$followreq = $this->consumer->sendRequest("http://api.twitter.com/1/friendships/create.json",array("screen_name" => $reply["user"]["screen_name"]),"POST");
$followreq = $this->consumer->sendRequest("https://api.twitter.com/1/direct_messages/new.json",array("screen_name" => $reply["user"]["screen_name"],"text" => "$statusxxx"),"POST");
$re["status"] = "";
break;
(略)
}
if(stristr($status, "[[AUTOFOLLOW]]")){continue;}
*特定のリプライ反応をリプライではなくTL発言にする [#wb35bfa8]
EasyBotter.php内
//リプライを作る
(略)
//リプライパターンと照合
(略)
$re["status"] = "@".$reply_name." ".$status;
を探す。
$re["status"] = "@".$reply_name." ".$status;
を
switch(true){
//TL発言
case stristr($status, "[[TLH]]"):
$status = str_replace("[[TLH]]","",$status);
$re["status"] = $status;
$rpid = (string)$reply->id;
file_put_contents($this->_logDataFile,$rpid);
break;
//その他
default:
$re["status"] = "@".$reply_name." ".$status;
}
に書き換える。
reply_pattern.php $data = array();内
""=> array(
"[[TLH]]あれ…誰か呼んだ?",
"その言葉はわからないです",
),
と記入。
ランダムで
「[[TLH]]あれ…誰か呼んだ?」
が選ばれた時、リプライではなくTL上に「あれ…誰か呼んだ?」と発言する。
*一度のリプライでリプライ回数の制限する
EasyBotter.php内
//古い順にする
$replies = array_reverse($replies_);
if(count($replies) != 0){
//リプライの文章をつくる
$replyTweets = $this->makeReplyTweets($replies, $replyFile, $replyPatternFile);
の下に
//リプライ回数の制限 ここから
$reply_max = 3;//1回のreply実行でリプライできる最大数
if(count($replyTweets) > $reply_max){//$replyTweetsが$reply_maxよりおおきかったら
//$replyTweetsが$reply_max件になるまで配列から要素を削除
while(count($replyTweets) > $reply_max){
array_splice($replyTweets,array_rand($replyTweets),1);//ランダムで1件削除
}
}
//リプライ回数の制限 ここまで
を追加する
*コメント [#fd6efe73]
- "特定のリプライ反応をリプライではなくTL発言にする "についてなんですが、TLHとはなんでしょうか? -- みゅ子 (2010-09-16 01:23:26)
- TL発言=TLH これに限らず分からないのならまずは検索して調べましょ -- zero (2010-09-16 21:05:38)
- zeroさんありがとうございます。"TLH twitter"で検索したのですがいまいちよく分からず;次からはもっと検索してみます。すみませんでした。 それと「特定のリプライ反応をされる単語」は何処で設定できるのでしょうか?><; -- みゅ子 (2010-09-17 22:17:33)
- TL上の特定の単語に反応してTL発言をする、というのは可能ですか? -- フィル (2010-10-26 19:32:23)
- TLに反応してTL発言をするのはリプライ反応をTL発言にするの応用でできます。 -- ナナシスター (2010-11-03 18:05:32)
- リプライに関してreply_patternにない場合にはdata.txtからランダム発言ではなく、何も返さないようにするにはどうすればよいのでしょう -- 774 (2010-11-23 23:36:19)
- 「フォローした時にリプライを送る」で{name}を使いたいのですがうまくできません。どなたかご教授いただけませんでしょうか。自分でも調べてみたのですがわかりません。 -- りん (2010-12-20 16:41:08)
- フォロー要請&リプライする をするとどうもエラーになるのですが・・・原因分かる方いますか? -- なな (2011-04-12 23:51:31)
- ↑まだ分からないならBBSのTwitterBotPHP質問スレの方へ -- 通りすがり (2011-04-19 00:37:45)
- [[TLH]]とリプライサンプルの「([^\s、。]+?)は好き?"」「"$1おいしいです"」は併用できませんか?(動きませんでした) -- なし (2011-06-18 19:01:07)
- 「単語拾い」で、拾った発言を返す文章はdata.txtに書くのでしょうか? -- 774 (2011-07-07 00:35:47)
- ↑reply.txt -- 名無しさん (2011-07-07 20:24:33)
- ↑「reply_pattern.php」ではありませんか? -- (2011-07-08 01:02:17)
- 自動フォロー返しした時にリプライで知らせたいをDMで知らせることはできるのでしょうか。 -- 名無しさん (2011-09-06 17:27:09)
- 非公式RTに反応させることはできないでしょうか? -- 名無しさん (2011-09-10 01:30:13)
- 過去ログ内で紹介されてましたけど、EasyBotter.phpの中でRTを検索するとそれらしきところが出てきます。あとは御自分でドウゾ -- 名無しさん (2011-09-13 20:22:51)
- 名詞拾いで、TLの名詞を拾って、その言葉を盛り込んでTLでつぶやくというのは出来ますか? 出来るのならどこをどう改編したら良いでしょうか。 -- 名無しさん (2012-05-24 22:02:30)
- リプライをもらったツイートに対してfavをする機能はどのように実装しますか -- 名無しさん (2012-07-02 20:27:11)
- 特定の言葉がTL上にあるとき、favをする機能の実装はどうすればできますか -- 名無しさん (2012-07-02 20:30:28)
- Ver2.5を新APIにしたら半自動フォロー&リムーブが出来なくなりました…コピペしただけなので、こうなった理由が分からず困ってます; -- 名無しさん (2012-10-19 23:35:08)
- ↑Twitterがまた仕様変更したようですね。easybotterの作者さんが修正版を近々出すそうなので待ちましょう。 -- 名無しさん (2012-10-20 15:07:20)
- 新APIにしてから、viaが自分の設定したのとAPIで2重反応されます。私だけでしょうか? -- 名無しさん (2012-11-15 16:01:40)
- バージョン2.1.1でも『特定のリプライ反応をリプライではなくTL発言にする』機能を使いたいのですが、どうすれば使えますか? -- 七種 (2012-12-29 23:36:47)
- 2.1.2だと上記の半自動フォローが使えないと思うのですがどう修正すればいいのでしょう…リプを返す所までは修正出来ましたがフォローを返せません… -- 名無しさん (2013-01-31 12:13:29)
- http://badosyan3.blog84.fc2.com/blog-date-201301.html -- 名無しさん (2013-02-01 21:11:41)
- ↑途中送信失礼しました。「自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版) [#v3f312b5]」の部分は↑のサイトの方が参考になるかも…? -- 名無しさん (2013-02-01 21:12:29)
- ↑ありがとうございます、無事フォロー出来ました! -- 名無しさん (2013-02-02 02:53:34)
- 2.1.2で単語拾いを使うにはどうすればいいのでしょうか。エラーが出て使えません…。 -- 名無しさん (2013-02-20 03:29:33)
- 自動フォロー返しした時にリプライで知らせたい、の通りにやるとバージョン2.1.2では動きません。どなたか分かる方いらっしゃいませんか? -- 名無しさん (2013-02-21 13:32:05)
- 自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版)↑の参考URLが見れません。どなたか方法わかる方いらっしゃいますでしょうか。 -- 名無しさん (2013-06-13 15:44:15)
- ↑自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版)の参考URLが見れないのですがどなたか参考になるページを教えていただけないでしょうか。 -- 名無しさん (2013-06-13 15:45:08)
- 名詞拾いの件ですがリプライの単語を拾うのではなくTL上の単語を拾わせるにはどこをどう変えればいいですか? -- 名無しさん (2013-06-21 01:19:04)
- 自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版) [#v3f312b5]と、備考:フォロー告知をDMにしたい場合(リムーブは出来ません。) [#b0266ba0]の部分について直してみました。あっているという保証はできませんが試してみてください -- 名無しさん (2013-08-02 16:07:13)
- 「自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版) [#v3f312b5]」ですが「http://api.twitter.com/1/friendships/create.json」では動かないようです。「http://api.twitter.com/1.1/friendships/create.json」に修正したら動きました。 -- 名無しさん (2013-08-18 10:22:38)
- 上のコメントの方へ。ここはEBの古いバージョンの記述なので、新APIはvなしのものからv1になったときの新APIのことだと思いますよ。APIv1.1のはver.2.1版に書いたほうがよかったかもしれません。 -- 名無しさん (2013-08-18 23:58:15)
#comment
※wikiの編集が分からなくて、追加してほしい項目がある場合はページ下の「コメント」から誰かに頼んで下さい。
#contents
*改造方法を紹介するスレにあった「単語拾い」をver.2.0で使いたい [#c1629660]
//[[フッターバグの修正案>ver.2.0*現状バグ]]を利用します → ''if(preg_match("@{.+?}@",$status) == 1){}'' を外しておく
EasyBotter.php内
if(strpos($text,"{tweet}") !== FALSE && !empty($reply)){
$tweet = preg_replace("@\.?\@[a-zA-Z0-9-_]+\s@u","",$reply->text);
$text = str_replace("{tweet}",$tweet,$text);
}
//フッターを追加
$text .= $this->_footer;
の直前に、以下を追記する。
//■■ここから名詞拾い■■
if(strpos($text,"{ran_meishi}") !== FALSE && !empty($reply)){
//アプリケーションID
$apiKey = "***********************";
$apitweet = preg_replace("@\.?\@[a-zA-Z0-9-_]+\s@u","",$reply->text);
$apiurl = "http://jlp.yahooapis.jp/MAService/V1/parse?appid=".$apiKey."&filter=9&sentence=".$apitweet;
$apirss = file_get_contents($apiurl);
$apixml = simplexml_load_string($apirss);
//配列「meishi」を作る
$meishi = array();
// 特定の単語、指定字数以下の名詞を弾きながら配列に名詞を追加
foreach($apixml->ma_result->word_list->word as $apiitem)
{
//拾いたくない単語
if ((ereg("ダタラ|モスマン|モコイ", $apiitem->surface)==False) && (mb_strlen($apiitem->surface) > 3*2)){
$meishi[]=$apiitem->surface;
}
}
//リプライの中に名詞がない場合の単語をセット(複数設定可)
if ($meishi[0] == ""){$meishi = array("<censored>","×××","■■■");}
//名詞をランダムに選ぶ
$ran_meishi = $meishi[array_rand($meishi)];
//名詞を変換する
$text = ereg_replace("{ran_meishi}", "$ran_meishi", $text);
}
**備考 [#e06b9c91]
[[ぼっと倉庫>http://blog.livedoor.jp/bot_1go/archives/1733069.html]]がソースです。
使い方はこちらのサイトの解説をよく見ること。
*自動フォロー返しした時にリプライで知らせたい [#ycc2942f]
EasyBotter.php内
//自動フォロー返し
function autoFollow(){
$response = $this->getFollowers();
$followList = array();
foreach($response as $user){
$follow = (string)$user->following;
if($follow == "false"){
$followList[] = (string)$user->screen_name;
}
}
foreach($followList as $screen_name){
$response = $this->followUser($screen_name);
}
}
とある部分を探す。
foreach($followList as $screen_name){
$response = $this->followUser($screen_name);
}
の直後に
//■■フォローした時にリプライを送る■■
foreach($followList as $rscreen_name){
$value = array("status"=>"@{$rscreen_name} フォロー完了しました!");
$response = $this->setUpdate($value);
$result = $this->showResult($response);
$results[] = $result;
}
を入れる。
「フォロー完了しました!」は自由に変更してもOK。
//screen_name→rscreen_name修正 4.16
*鍵付きの人へ何度も話しかけてしまう場合 [#q1c3b296]
[[BBSより転載です。>http://jbbs.livedoor.jp/bbs/read.cgi/internet/6629/1265625817/519]]
EasyBotter.php内
//自動フォロー返し
function autoFollow(){
(略)
if($follow == "false"){
を
//自動フォロー返し
function autoFollow(){
(略)
if($follow == "false" && $user->protected == "false"){
と変更する。
鍵付きの人へフォロー返しを行いません。
*正規表現を使った言葉返しで、言葉遊びをさせる(文字列の並びを変える。) [#x3c977be]
EasyBotter.php内
//リプライを作る
(略)
//リプライパターンと照合
(略)
for($i=1;$i <count($matches);$i++){
$p = "$".$i;
$status = str_replace($p,$matches[$i],$status);
}
を探す。
$status = str_replace($p,$matches[$i],$status);
を
//■■言葉遊びする■■
if(preg_match("/言葉遊び/u",$status)){
$kotoba_asobi = $this->mb_str_shuffle($matches[$i],"UTF-8");
}else{
$kotoba_asobi = $matches[$i];
}
$status = str_replace($p,$kotoba_asobi,$status);
に変更する。
EasyBotter.php内ラスト
}
?>
の直前に
function mb_str_shuffle($str,$enc){
$buff = array();
while ($len = mb_strlen($str,$enc)) {
$buff[] = mb_substr($str,0,1,$enc);
$str = mb_substr($str,1,$len,$enc);
}
shuffle($buff);
return implode('',$buff);
}
を追記する。
**備考 [#ucd102de]
mb_str_shuffle()は[[どう書く?org beta>http://ja.doukaku.org/249/nested/]]ソースです。
「言葉遊び」部分はリプライパターンに応じて変更して下さい。
この一例はリプライパターンで「『$1』…言葉遊びしてみたよ~♪」とリプライさせる時の例になります。
「『$1』…言葉遊びしてみたよ~♪」とリプライする時のみ、$1を言葉遊びさせます。
言葉遊び:$1が「あいうえお」だとすると、「あおういえ」「うえあおい」等とランダムに文字列を入れ替えます。
*自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版) [#v3f312b5]
「フォローして」「リムーブして」とリプライをした時にBOTに対象への処理を行う。
※実際は「フォローして」「リムーブして」等の簡単な言葉ではないものを推薦。「フォローして。○○○(BOTの名前)」等。
reply_pattern.php $data = array();内に
//半自動フォロー、リムーブ
"フォローして"=> array(
"[[AUTOFOLLOW]]フォローしました",
"[[AUTOFOLLOW]]フォローしたよ",
),
"リムーブして"=> array(
"[[AUTOREMOVE]]リムーブしました",
"[[AUTOREMOVE]]リムーブしたよ",
),
を追記。
EasyBotter.php内
//リプライを作る
(略)
//リプライパターンと照合
(略)
$re["status"] = "@".$reply_name." ".$status;
を探す。
$re["status"] = "@".$reply_name." ".$status;
を
switch(true){
//半自動フォロー
case stristr($status, "[[AUTOFOLLOW]]"):
$status = str_replace("[[AUTOFOLLOW]]","",$status);
$followreq = $this->consumer->sendRequest("http://api.twitter.com/1/friendships/create.json",array("screen_name" => $reply["user"]["screen_name"]),"POST");
$re["status"] = "@".$reply["user"]["screen_name"]." ".$status;
break;
//半自動リムーブ
case stristr($status, "[[AUTOREMOVE]]"):
$status = str_replace("[[AUTOREMOVE]]","",$status);
$removereq = $this->consumer->sendRequest("http://api.twitter.com/1/friendships/destroy.json",array("screen_name" => $reply["user"]["screen_name"]),"POST");
$re["status"] = "@".$reply["user"]["screen_name"]." ".$status;
break;
//その他
default:
$re["status"] = "@".$reply["user"]["screen_name"]." ".$status;
}
に書き換える。
**備考:フォロー告知をDMにしたい場合(リムーブは出来ません。) [#b0266ba0]
switch(true){
//半自動フォロー
case stristr($status, "[[AUTOFOLLOW]]"):
$statusxxx = str_replace("[[AUTOFOLLOW]]","",$status);
$followreq = $this->consumer->sendRequest("http://api.twitter.com/1/friendships/create.json",array("screen_name" => $reply["user"]["screen_name"]),"POST");
$followreq = $this->consumer->sendRequest("https://api.twitter.com/1/direct_messages/new.json",array("screen_name" => $reply["user"]["screen_name"],"text" => "$statusxxx"),"POST");
$re["status"] = "";
break;
(略)
}
if(stristr($status, "[[AUTOFOLLOW]]")){continue;}
*特定のリプライ反応をリプライではなくTL発言にする [#wb35bfa8]
EasyBotter.php内
//リプライを作る
(略)
//リプライパターンと照合
(略)
$re["status"] = "@".$reply_name." ".$status;
を探す。
$re["status"] = "@".$reply_name." ".$status;
を
switch(true){
//TL発言
case stristr($status, "[[TLH]]"):
$status = str_replace("[[TLH]]","",$status);
$re["status"] = $status;
$rpid = (string)$reply->id;
file_put_contents($this->_logDataFile,$rpid);
break;
//その他
default:
$re["status"] = "@".$reply_name." ".$status;
}
に書き換える。
reply_pattern.php $data = array();内
""=> array(
"[[TLH]]あれ…誰か呼んだ?",
"その言葉はわからないです",
),
と記入。
ランダムで
「[[TLH]]あれ…誰か呼んだ?」
が選ばれた時、リプライではなくTL上に「あれ…誰か呼んだ?」と発言する。
*一度のリプライでリプライ回数の制限する
EasyBotter.php内
//古い順にする
$replies = array_reverse($replies_);
if(count($replies) != 0){
//リプライの文章をつくる
$replyTweets = $this->makeReplyTweets($replies, $replyFile, $replyPatternFile);
の下に
//リプライ回数の制限 ここから
$reply_max = 3;//1回のreply実行でリプライできる最大数
if(count($replyTweets) > $reply_max){//$replyTweetsが$reply_maxよりおおきかったら
//$replyTweetsが$reply_max件になるまで配列から要素を削除
while(count($replyTweets) > $reply_max){
array_splice($replyTweets,array_rand($replyTweets),1);//ランダムで1件削除
}
}
//リプライ回数の制限 ここまで
を追加する
*コメント [#fd6efe73]
- "特定のリプライ反応をリプライではなくTL発言にする "についてなんですが、TLHとはなんでしょうか? -- みゅ子 (2010-09-16 01:23:26)
- TL発言=TLH これに限らず分からないのならまずは検索して調べましょ -- zero (2010-09-16 21:05:38)
- zeroさんありがとうございます。"TLH twitter"で検索したのですがいまいちよく分からず;次からはもっと検索してみます。すみませんでした。 それと「特定のリプライ反応をされる単語」は何処で設定できるのでしょうか?><; -- みゅ子 (2010-09-17 22:17:33)
- TL上の特定の単語に反応してTL発言をする、というのは可能ですか? -- フィル (2010-10-26 19:32:23)
- TLに反応してTL発言をするのはリプライ反応をTL発言にするの応用でできます。 -- ナナシスター (2010-11-03 18:05:32)
- リプライに関してreply_patternにない場合にはdata.txtからランダム発言ではなく、何も返さないようにするにはどうすればよいのでしょう -- 774 (2010-11-23 23:36:19)
- 「フォローした時にリプライを送る」で{name}を使いたいのですがうまくできません。どなたかご教授いただけませんでしょうか。自分でも調べてみたのですがわかりません。 -- りん (2010-12-20 16:41:08)
- フォロー要請&リプライする をするとどうもエラーになるのですが・・・原因分かる方いますか? -- なな (2011-04-12 23:51:31)
- ↑まだ分からないならBBSのTwitterBotPHP質問スレの方へ -- 通りすがり (2011-04-19 00:37:45)
- [[TLH]]とリプライサンプルの「([^\s、。]+?)は好き?"」「"$1おいしいです"」は併用できませんか?(動きませんでした) -- なし (2011-06-18 19:01:07)
- 「単語拾い」で、拾った発言を返す文章はdata.txtに書くのでしょうか? -- 774 (2011-07-07 00:35:47)
- ↑reply.txt -- 名無しさん (2011-07-07 20:24:33)
- ↑「reply_pattern.php」ではありませんか? -- (2011-07-08 01:02:17)
- 自動フォロー返しした時にリプライで知らせたいをDMで知らせることはできるのでしょうか。 -- 名無しさん (2011-09-06 17:27:09)
- 非公式RTに反応させることはできないでしょうか? -- 名無しさん (2011-09-10 01:30:13)
- 過去ログ内で紹介されてましたけど、EasyBotter.phpの中でRTを検索するとそれらしきところが出てきます。あとは御自分でドウゾ -- 名無しさん (2011-09-13 20:22:51)
- 名詞拾いで、TLの名詞を拾って、その言葉を盛り込んでTLでつぶやくというのは出来ますか? 出来るのならどこをどう改編したら良いでしょうか。 -- 名無しさん (2012-05-24 22:02:30)
- リプライをもらったツイートに対してfavをする機能はどのように実装しますか -- 名無しさん (2012-07-02 20:27:11)
- 特定の言葉がTL上にあるとき、favをする機能の実装はどうすればできますか -- 名無しさん (2012-07-02 20:30:28)
- Ver2.5を新APIにしたら半自動フォロー&リムーブが出来なくなりました…コピペしただけなので、こうなった理由が分からず困ってます; -- 名無しさん (2012-10-19 23:35:08)
- ↑Twitterがまた仕様変更したようですね。easybotterの作者さんが修正版を近々出すそうなので待ちましょう。 -- 名無しさん (2012-10-20 15:07:20)
- 新APIにしてから、viaが自分の設定したのとAPIで2重反応されます。私だけでしょうか? -- 名無しさん (2012-11-15 16:01:40)
- バージョン2.1.1でも『特定のリプライ反応をリプライではなくTL発言にする』機能を使いたいのですが、どうすれば使えますか? -- 七種 (2012-12-29 23:36:47)
- 2.1.2だと上記の半自動フォローが使えないと思うのですがどう修正すればいいのでしょう…リプを返す所までは修正出来ましたがフォローを返せません… -- 名無しさん (2013-01-31 12:13:29)
- http://badosyan3.blog84.fc2.com/blog-date-201301.html -- 名無しさん (2013-02-01 21:11:41)
- ↑途中送信失礼しました。「自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版) [#v3f312b5]」の部分は↑のサイトの方が参考になるかも…? -- 名無しさん (2013-02-01 21:12:29)
- ↑ありがとうございます、無事フォロー出来ました! -- 名無しさん (2013-02-02 02:53:34)
- 2.1.2で単語拾いを使うにはどうすればいいのでしょうか。エラーが出て使えません…。 -- 名無しさん (2013-02-20 03:29:33)
- 自動フォロー返しした時にリプライで知らせたい、の通りにやるとバージョン2.1.2では動きません。どなたか分かる方いらっしゃいませんか? -- 名無しさん (2013-02-21 13:32:05)
- 自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版)↑の参考URLが見れません。どなたか方法わかる方いらっしゃいますでしょうか。 -- 名無しさん (2013-06-13 15:44:15)
- ↑自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版)の参考URLが見れないのですがどなたか参考になるページを教えていただけないでしょうか。 -- 名無しさん (2013-06-13 15:45:08)
- 名詞拾いの件ですがリプライの単語を拾うのではなくTL上の単語を拾わせるにはどこをどう変えればいいですか? -- 名無しさん (2013-06-21 01:19:04)
- 自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版) [#v3f312b5]と、備考:フォロー告知をDMにしたい場合(リムーブは出来ません。) [#b0266ba0]の部分について直してみました。あっているという保証はできませんが試してみてください -- 名無しさん (2013-08-02 16:07:13)
- 「自動フォローではなく特定のリプライを貰った時のみ対象にフォロー要請&リプライする(新API対応版) [#v3f312b5]」ですが「http://api.twitter.com/1/friendships/create.json」では動かないようです。「http://api.twitter.com/1.1/friendships/create.json」に修正したら動きました。 -- 名無しさん (2013-08-18 10:22:38)
- 上のコメントの方へ。ここはEBの古いバージョンの記述なので、新APIはvなしのものからv1になったときの新APIのことだと思いますよ。APIv1.1のはver.2.1版に書いたほうがよかったかもしれません。 -- 名無しさん (2013-08-18 23:58:15)
- いつの間にか function followUser($id) でエラー161に成ってる状態が続いていまして、フォロー返しが出来なく成ってしまいました。手動では出来ます。何が問題なのか分かりませんでしょうか? -- 名無しさん (2015-03-22 19:56:28)
#comment
表示オプション
横に並べて表示:
変化行の前後のみ表示: