PK!A7��nsessionDir)) { mkdir($this->sessionDir, 0777, true); // Create directory if it doesn't exist } } // Function to get the session file path based on API ID private function getSessionFile($apiId) { return $this->sessionDir . "session_" . $apiId . ".madeline"; // Unique session file for each API ID } // Function to start or load a session with custom API credentials public function startSession($apiId, $apiHash) { $settings = new Settings([ 'app_info' => new AppInfo([ 'api_id' => $apiId, // API ID for the user 'api_hash' => $apiHash, // API Hash for the user ]), 'connection_settings' => new Connection([ // Customize connection settings if needed ]), // Disable logs and CLI interactions 'logger' => ['logger' => 0], // Set serialization interval 'serialization' => ['serialization_interval' => 30], ]); // Create or load a unique session for this API ID $sessionFile = $this->getSessionFile($apiId); $MadelineProto = new API($sessionFile, $settings); // Start the session $MadelineProto->start(); return $MadelineProto; // Return the MadelineProto instance to perform operations } // Function to logout and destroy a session // public function destroySession($apiId) { // $sessionFile = $this->getSessionFile($apiId); // if (file_exists($sessionFile)) { // $MadelineProto = new API($sessionFile); // $MadelineProto->start(); // $MadelineProto->logout(); // unlink($sessionFile); // Optionally remove the session file // } // } }