Update: 2026-07-05 23:50:29
This commit is contained in:
@@ -139,6 +139,65 @@ try {
|
|||||||
} else {
|
} else {
|
||||||
echo json_encode(['status' => 'success', 'message' => 'No tasks available', 'data' => null]);
|
echo json_encode(['status' => 'success', 'message' => 'No tasks available', 'data' => null]);
|
||||||
}
|
}
|
||||||
|
case 'process_organic_post':
|
||||||
|
// The bot found a post organically via Accessibility, copied its link, and needs a comment NOW
|
||||||
|
$platform = $_POST['platform'] ?? 'facebook';
|
||||||
|
$deviceId = $_POST['device_id'] ?? null;
|
||||||
|
$targetUrl = $_POST['target_url'] ?? null;
|
||||||
|
$postText = $_POST['post_text'] ?? '';
|
||||||
|
|
||||||
|
if (!$deviceId || !$targetUrl || !$postText) {
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'device_id, target_url, and post_text are required']);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1. Resolve Device ID
|
||||||
|
$stmtDev = $con->prepare("SELECT id FROM social_accounts WHERE device_id = ?");
|
||||||
|
$stmtDev->execute([$deviceId]);
|
||||||
|
$acc = $stmtDev->fetch(PDO::FETCH_ASSOC);
|
||||||
|
$accountId = $acc ? $acc['id'] : null;
|
||||||
|
|
||||||
|
if (!$accountId) {
|
||||||
|
// Not registered yet, auto-bind
|
||||||
|
require_once __DIR__ . '/account_manager.php';
|
||||||
|
$am = new AccountManager();
|
||||||
|
$stmtFind = $con->prepare("SELECT id FROM social_accounts WHERE platform = ? AND device_id IS NULL AND status = 'active' LIMIT 1");
|
||||||
|
$stmtFind->execute([$platform]);
|
||||||
|
$newAcc = $stmtFind->fetch(PDO::FETCH_ASSOC);
|
||||||
|
if ($newAcc) {
|
||||||
|
$accountId = $newAcc['id'];
|
||||||
|
$updateDev = $con->prepare("UPDATE social_accounts SET device_id = ? WHERE id = ?");
|
||||||
|
$updateDev->execute([$deviceId, $accountId]);
|
||||||
|
} else {
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'No accounts available for new device']);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. Generate Immediate Comment
|
||||||
|
require_once __DIR__ . '/gemini_comment_generator.php';
|
||||||
|
$generatedComment = generateCommentWithGemini($postText, 'promote_siro');
|
||||||
|
|
||||||
|
// 3. Save this initial organic action to database as completed
|
||||||
|
$stmt = $con->prepare("
|
||||||
|
INSERT INTO social_tasks (account_id, platform, type, target_url, prompt_context, generated_comment, status, completed_at)
|
||||||
|
VALUES (?, ?, 'post_comment', ?, ?, ?, 'completed', NOW())
|
||||||
|
");
|
||||||
|
$stmt->execute([$accountId, $platform, $targetUrl, $postText, $generatedComment]);
|
||||||
|
|
||||||
|
// 4. Schedule Drama (Supporting Accounts)
|
||||||
|
require_once __DIR__ . '/schedule_manager.php';
|
||||||
|
$sm = new ScheduleManager();
|
||||||
|
$sm->scheduleDialogueDrama($platform, $targetUrl, $postText, $accountId, 5); // 5 mins delay
|
||||||
|
|
||||||
|
// 5. Return the generated comment immediately to the Android Bot
|
||||||
|
echo json_encode([
|
||||||
|
'status' => 'success',
|
||||||
|
'data' => [
|
||||||
|
'generated_comment' => $generatedComment,
|
||||||
|
'target_url' => $targetUrl
|
||||||
|
]
|
||||||
|
]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'complete_task':
|
case 'complete_task':
|
||||||
|
|||||||
Reference in New Issue
Block a user