One Hat Cyber Team
Your IP :
104.23.243.59
Server IP :
104.21.51.23
Server :
Linux 128-201-239-36.cprapid.com 3.10.0-1160.41.1.el7.x86_64 #1 SMP Tue Aug 31 14:52:47 UTC 2021 x86_64
Server Software :
Apache
PHP Version :
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
juscatamarca
/
www
/
subdomains
/
justabot
/
Edit File:
funciones_bot.php
<?php require_once 'conexion.php'; date_default_timezone_set('America/Argentina/Buenos_Aires'); function obtenerUltimaVisita($telefono) { $pdo = conectarBD(); $sql = "SELECT fecha_ultima_visita, hora_ultima_visita FROM usuario_chat WHERE usuario_telefono = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$telefono]); return $stmt->fetch(PDO::FETCH_ASSOC); } function buscarEnPadron($dni) { $pdo = conectarBD(); $sql = "SELECT CONCAT(nombre, ' ', apellido) AS nombre_completo FROM padron WHERE matricula = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$dni]); $fila = $stmt->fetch(PDO::FETCH_ASSOC); return $fila ? $fila['nombre_completo'] : null; } function obtenerDniTemporal($telefono) { $pdo = conectarBD(); $sql = "SELECT usuario_id FROM usuario_chat WHERE usuario_telefono = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$telefono]); $fila = $stmt->fetch(PDO::FETCH_ASSOC); return $fila ? $fila['usuario_id'] : null; } function actualizarUsuarioConNombre($telefono, $nombre) { $pdo = conectarBD(); $sql = "UPDATE usuario_chat SET usuario_nombre = ?, estado = NULL WHERE usuario_telefono = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$nombre, $telefono]); } function guardarDniTemporal($telefono, $dni) { $pdo = conectarBD(); $sql = "UPDATE usuario_chat SET usuario_id = ?, estado = 'confirmar_nombre_padron' WHERE usuario_telefono = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$dni, $telefono]); } function obtenerNombreUsuario($telefono) { $pdo = conectarBD(); $sql = "SELECT usuario_nombre FROM usuario_chat WHERE usuario_telefono = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$telefono]); $fila = $stmt->fetch(PDO::FETCH_ASSOC); return $fila ? $fila['usuario_nombre'] : null; } function obtenerEstadoUsuario($telefono) { $pdo = conectarBD(); $sql = "SELECT estado FROM usuario_chat WHERE usuario_telefono = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$telefono]); $fila = $stmt->fetch(PDO::FETCH_ASSOC); return $fila ? $fila['estado'] : null; } function actualizarEstadoUsuario($telefono, $estado) { $pdo = conectarBD(); $sql = "UPDATE usuario_chat SET estado = ?, fecha_ultima_visita = ?, hora_ultima_visita = ? WHERE usuario_telefono = ?"; $stmt = $pdo->prepare($sql); $fecha = date("Y-m-d"); $hora = date("H:i:s"); $stmt->execute([$estado, $fecha, $hora, $telefono]); } function registrarUsuarioSiNoExiste($telefono) { $pdo = conectarBD(); $sql = "SELECT usuario_id FROM usuario_chat WHERE usuario_telefono = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$telefono]); if (!$stmt->fetch()) { $sqlInsert = "INSERT INTO usuario_chat (usuario_telefono, fecha_registro, hora_registro, fecha_ultima_visita, hora_ultima_visita) VALUES (?, ?, ?, ?, ?)"; $stmtInsert = $pdo->prepare($sqlInsert); $fecha = date("Y-m-d"); $hora = date("H:i:s"); $stmtInsert->execute([$telefono, $fecha, $hora, $fecha, $hora]); } } function resetearEstado($telefono) { actualizarEstadoUsuario($telefono, null); } function esNuevoDia($telefono) { $pdo = conectarBD(); $stmt = $pdo->prepare("SELECT fecha_ultima_visita FROM usuario_chat WHERE usuario_telefono = ?"); $stmt->execute([$telefono]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!$row || empty($row["fecha_ultima_visita"])) return true; $ultimaFecha = $row["fecha_ultima_visita"]; $hoy = date("Y-m-d"); return $ultimaFecha !== $hoy; } // Open IA function crearNuevoThread($apiKey) { $ch = curl_init('https://api.openai.com/v1/threads'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Authorization: Bearer $apiKey", "OpenAI-Beta: assistants=v2", "Content-Type: application/json" ]); curl_setopt($ch, CURLOPT_POSTFIELDS, '{}'); $response = curl_exec($ch); $data = json_decode($response, true); curl_close($ch); return $data['id'] ?? null; } function obtenerThreadIdPorTelefono($telefono) { $pdo = conectarBD(); $sql = "SELECT thread_id FROM usuario_chat WHERE usuario_telefono = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$telefono]); $row = $stmt->fetch(PDO::FETCH_ASSOC); return $row['thread_id'] ?? null; } function guardarThreadIdPorTelefono($telefono, $threadId) { $pdo = conectarBD(); $sql = "UPDATE usuario_chat SET thread_id = ? WHERE usuario_telefono = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$threadId, $telefono]); }
Simpan