$db_settings, 'workers' => [ 'serialization_interval' => 120, 'worker_sleep' => 1, ], 'token' => ['min_length' => 30, 'max_length' => 40], 'other' => [ 'homedir' => '/tmp/', 'uri' => $_SERVER['REQUEST_URI'], 'params' => $_REQUEST, 'endpoint' => 'http'.($_SERVER['SERVER_PORT'] == 443 ? 's' : '').'://'.$_SERVER['HTTP_HOST'].':'.$_SERVER['SERVER_PORT'].'/', 'response_wait' => 60, ], ]; try { $web_API = new \danog\MadelineProto\WebAPI($settings); echo json_encode($web_API->run()); } catch (\danog\MadelineProto\ResponseException $e) { echo json_encode(['ok' => false, 'error_code' => 400, 'error_description' => $e->getMessage().' on line '.$e->getLine().' of '.basename($e->getFile())]); error_log('Exception thrown: '.$e->getMessage()); error_log($e->getTraceAsString()); } catch (\danog\MadelineProto\Exception $e) { echo json_encode(['ok' => false, 'error_code' => 400, 'error_description' => $e->getMessage().' on line '.$e->getLine().' of '.basename($e->getFile())]); error_log('Exception thrown: '.$e->getMessage()); error_log($e->getTraceAsString()); } catch (\danog\MadelineProto\RPCErrorException $e) { echo json_encode(['ok' => false, 'error_code' => $e->getCode(), 'error_description' => $e->getMessage().' on line '.$e->getLine().' of '.basename($e->getFile())]); error_log('Exception thrown: '.$e->getMessage()); error_log($e->getTraceAsString()); } catch (\danog\MadelineProto\TL\Exception $e) { echo json_encode(['ok' => false, 'error_code' => 400, 'error_description' => $e->getMessage().' on line '.$e->getLine().' of '.basename($e->getFile())]); error_log('Exception thrown: '.$e->getMessage()); error_log($e->getTraceAsString()); } catch (\PDOException $e) { echo json_encode(['ok' => false, 'error_code' => 400, 'error_description' => $e->getMessage().' on line '.$e->getLine().' of '.basename($e->getFile())]); error_log('Exception thrown: '.$e->getMessage()); error_log($e->getTraceAsString()); }