Esempio n. 1
0
    $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);