人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

[代理]TwitterでのBOTのPHPの正規表現とMySQLについて質問です。[やっぱり丸投げ]

つ【ものの名前】 と話しかけられた時に ものの名前 ありがとう と返信するには

),
"つ([^\s【]+?)"=> array(
"$1ありがとう!",

ではうまく返信しないそうです。正しい正規表現を教えて下さい。

更に。

http://www16.atwiki.jp/ruzyu/pages/22.html
の手順で好感度機能を設置したいらしいのですが、上手くいく時といかない時があるそうです。
(上手く稼働しているBOTもあるそうですが、上手くいかない方が多いそうです)
サーバは@PAGESを借りているそうです。
もう少し詳しい解説をご存じの方、ご教示下さい。
ちなみに私自身はプログラミングなどには関わったことがなく全くのド素人です。
どうぞよろしくお願い致します。

[追記]
すみません、ポイント差し上げたいのですがはてなさんからの自動引き落とし解約忘れていてマイナスになってしまいました… 申し訳ありません。
こういう質問をする時は絶対に高めのポイントを差し上げると決めていたのですが…本当にすみません。はてなを10年近くやってきてポイント差し上げられないとか初めてです…情けない…(涙)。

●質問者:
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ぽけっとしすてむ
ベストアンサー
$data = array(
 //「おはよ」を含む発言(「おはよ」「おはよう」「おはよー」など)を受け取ると「おはようございます、御主人様」もしくは「Good Morning, Master.」と返すサンプルです
 "おはよ"=> array(
 "おはようございます、御主人様",
 "Good morning, master.",
 ),
 //「今日の運勢」を含む発言を受け取ると6種類の中からランダムな返答を返すサンプルです
 "今日の運勢"=> array(
 "大吉",
 "中吉",
 "小吉",
 "末吉",
 "吉",
 "凶",
 ),
 //「こんにちは」「こんにちわ」「こんちは」「こんちわ」を含む発言を受け取ると「こんにちはこんにちは!」と返す正規表現のサンプルです
 "こん(に)?ち[はわ]"=> array(
 "こんにちはこんにちは!",
 ),
 //「◯◯は好き?」という発言を受け取ると「◯◯おいしいです」と返す正規表現のサンプルです
 //ただし「◯◯」の前には空白か「、」か「。」を入れないと「は好き?」以前の文章が全て繋がって表示されます
 "([^\s、。]+?)は好き?"=> array(
 "$1おいしいです",
 ),

 //つ【ものの名前】 と話しかけられた時に ものの名前 ありがとう と返信する
 "つ【(.*)】"=> array(
 "$1ありがとう",
 ),

 //「会話終了」を含む発言を受け取るとリプライを返さなくするサンプルです
 "会話終了"=> array(
 "[[END]]",
 ),
);


>好感度機能
TwitterBot開発メモ Wiki - XMLでの好感度実装
ざっと見た感じでは後付けで実装のような気がします。


へさんのコメント
おはようございます。ptなしにも関わらずご丁寧なご回答ありがとうございます。 PHPが全くわからない私でも理解できる内容でのご回答感謝します。 好感度機能については、http://ruzyus.blog136.fc2.com/blog-entry-44.html からXMLではなく、MySQL版をDLして使っているそうです。 MySQLのデータベース作りに失敗しているのか、一時は上手く動いていたのに、ある時から登録済みユーザーにも関わらず ●●って呼んで とか 好感度教えて に反応しなくなったそうです。 また、@PAGES自体で http://www16.atwiki.jp/ruzyu/pages/22.html の手順通りにテーブルを作ろうとしても上手くいかないアカウントがある、ということらしいです。 もっとPHPの知識があれば一から書く事も出来るのでしょうが、私はもとより、友人もそこまでの知識はないようで…。 DLしたものに基づいて説明通りにやっていけば出来るはずなのですが…お恥ずかしい限りです。 どうしたものか…>< …pt買ってこようかな…うぐぐ。

ぽけっとしすてむさんのコメント
@PAGESのアカウントを持っていないので詳しくは解りませんが、 問題を切り分ける為に、最小限の設定を行ったBOTをもう一つ稼動してテストしてみてはいかがでしょうか。 現在稼動しているBOTがテスト段階であれば、Twitterアカウントはそのまま使用しても問題は少ないですが、 公開してしまっている場合は、テスト用のTwitterアカウントを取得します。 その後、ディレクトリをテスト用に新しく用意して最小限の設定を行ったBOTを設置します。 設定は、通常行う設定に加えて「EasyBotter.php」の $TableName = "Test";//接続するテーブルの名前 を変更する必要があります。(これは、FAQの「複数BOT使うには、複数レンタルサーバに登録しないといけないの?」の対応と同じです。) http://www16.atwiki.jp/ruzyu/pages/28.html Test2 などで良いと思います。 ファイルの設置が終わったら、新しいテーブル名でテーブルを作ります。 最小限の変更で構成されたBOTが稼動します。 どの部分で動かなくなるかをテストしてください。

へさんのコメント
おはようございます。うわあ!ご丁寧な解説ありがとうございます。 早速それをやってみるように伝えます。 ひとつひとつ、どこで動かなくなるかチェック、ですね。 本当にありがとうございます!! しかしなぜテーブル自体作れない時があると騒ぐんでしょう…。 そこが謎です。 余談ですが、TwitterのAPI消費が激しいので(リプが多すぎてすぐ規制に引っかかってしまうらしいです)api.twitter.com と twitter.comの両方を使って一定時間の発言を増やす方法やら規制になったら自動で別アカウントに切り替える方法やら色々調べているらしいです。 はてなポイント分のお金くれないかしら…それならちゃんと質問して回答者様にptお支払い出来るのに…。 てか私が自腹で買えって話ですよね…。すみません。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ