$text = trim(preg_replace('/@[a-z0-9_]+/i', '', $re->text)); // もし数字だけだったら素数判定処理をする if (filter_var($text, FILTER_VALIDATE_INT)) { $num = intval($text); $message = sprintf('%d の次の素数は %s です。', $num, '[そのうち実装するよ!]'); } else { // botに来たリプライに数字以外のものが含まれていたら // 通常の雑談対話リプライをする $chat = new Chat($config->getDocomoDialogueApiKey(), $chat_context_manager->getContextId($re->user->screen_name), $chat_context_manager->getMode($re->user->screen_name), $re->user->name, $text); $message = sprintf('%s %s%s', $chat->ResText(), $randomFaces->get(), PHP_EOL); } $param['status'] = sprintf("@%s %sさん\n%s", $re->user->screen_name, trim(preg_replace('!([@@##.]|://)!u', " \$1 ", $re->user->name)), $message); $param['in_reply_to_status_id'] = $re->id_str; // 投稿 if (TwitterUtil::postTweet($connection, $param)) { ++$success_count; } else { ++$failure_count; } $chat_context_manager->setContext($re->user->screen_name, $chat->GetChatContextId(), $chat->GetChatMode()); } Log::log(sprintf("処理が完了しました: 成功 %d 件、失敗 %d 件", $success_count, $failure_count), $failure_count > 0 ? 'error' : 'success'); /** * エラーがあった時に私に知らせる */ if ($failure_count > 0) { $param = []; $param['status'] = sprintf("@%s 処理が完了しました: 成功 %d 件、失敗 %d 件", $config->getTwitterOwnerScreenName(), $success_count, $failure_count); TwitterUtil::postTweet($connection, $param); } exit($failure_count > 0 ? 1 : 0);