つ【ものの名前】 と話しかけられた時に ものの名前 ありがとう と返信するには
),
"つ([^\s【]+?)"=> array(
"$1ありがとう!",
ではうまく返信しないそうです。正しい正規表現を教えて下さい。
更に。
http://www16.atwiki.jp/ruzyu/pages/22.html
の手順で好感度機能を設置したいらしいのですが、上手くいく時といかない時があるそうです。
(上手く稼働しているBOTもあるそうですが、上手くいかない方が多いそうです)
サーバは@PAGESを借りているそうです。
もう少し詳しい解説をご存じの方、ご教示下さい。
ちなみに私自身はプログラミングなどには関わったことがなく全くのド素人です。
どうぞよろしくお願い致します。
[追記]
すみません、ポイント差し上げたいのですがはてなさんからの自動引き落とし解約忘れていてマイナスになってしまいました… 申し訳ありません。
こういう質問をする時は絶対に高めのポイントを差し上げると決めていたのですが…本当にすみません。はてなを10年近くやってきてポイント差し上げられないとか初めてです…情けない…(涙)。
$data = array( //「おはよ」を含む発言(「おはよ」「おはよう」「おはよー」など)を受け取ると「おはようございます、御主人様」もしくは「Good Morning, Master.」と返すサンプルです "おはよ"=> array( "おはようございます、御主人様", "Good morning, master.", ), //「今日の運勢」を含む発言を受け取ると6種類の中からランダムな返答を返すサンプルです "今日の運勢"=> array( "大吉", "中吉", "小吉", "末吉", "吉", "凶", ), //「こんにちは」「こんにちわ」「こんちは」「こんちわ」を含む発言を受け取ると「こんにちはこんにちは!」と返す正規表現のサンプルです "こん(に)?ち[はわ]"=> array( "こんにちはこんにちは!", ), //「◯◯は好き?」という発言を受け取ると「◯◯おいしいです」と返す正規表現のサンプルです //ただし「◯◯」の前には空白か「、」か「。」を入れないと「は好き?」以前の文章が全て繋がって表示されます "([^\s、。]+?)は好き?"=> array( "$1おいしいです", ), //つ【ものの名前】 と話しかけられた時に ものの名前 ありがとう と返信する "つ【(.*)】"=> array( "$1ありがとう", ), //「会話終了」を含む発言を受け取るとリプライを返さなくするサンプルです "会話終了"=> array( "[[END]]", ), );
>好感度機能
TwitterBot開発メモ Wiki - XMLでの好感度実装
ざっと見た感じでは後付けで実装のような気がします。
@PAGESのアカウントを持っていないので詳しくは解りませんが、
2011/12/17 10:06:13問題を切り分ける為に、最小限の設定を行ったBOTをもう一つ稼動してテストしてみてはいかがでしょうか。
現在稼動しているBOTがテスト段階であれば、Twitterアカウントはそのまま使用しても問題は少ないですが、
公開してしまっている場合は、テスト用のTwitterアカウントを取得します。
その後、ディレクトリをテスト用に新しく用意して最小限の設定を行ったBOTを設置します。
設定は、通常行う設定に加えて「EasyBotter.php」の
$TableName = "Test"; //接続するテーブルの名前
を変更する必要があります。(これは、FAQの「複数BOT使うには、複数レンタルサーバに登録しないといけないの?」の対応と同じです。)
http://www16.atwiki.jp/ruzyu/pages/28.html
Test2 などで良いと思います。
ファイルの設置が終わったら、新しいテーブル名でテーブルを作ります。
最小限の変更で構成されたBOTが稼動します。
どの部分で動かなくなるかをテストしてください。
おはようございます。うわあ!ご丁寧な解説ありがとうございます。
2011/12/19 08:09:34早速それをやってみるように伝えます。
ひとつひとつ、どこで動かなくなるかチェック、ですね。
本当にありがとうございます!!
しかしなぜテーブル自体作れない時があると騒ぐんでしょう…。
そこが謎です。
余談ですが、TwitterのAPI消費が激しいので(リプが多すぎてすぐ規制に引っかかってしまうらしいです)api.twitter.com と twitter.comの両方を使って一定時間の発言を増やす方法やら規制になったら自動で別アカウントに切り替える方法やら色々調べているらしいです。
はてなポイント分のお金くれないかしら…それならちゃんと質問して回答者様にptお支払い出来るのに…。
てか私が自腹で買えって話ですよね…。すみません。