diff --git a/src/danog/MadelineProto/MTProto.php b/src/danog/MadelineProto/MTProto.php index 7827fa89..db39481c 100644 --- a/src/danog/MadelineProto/MTProto.php +++ b/src/danog/MadelineProto/MTProto.php @@ -38,9 +38,13 @@ Slv8kg9qv1m6XHVQY3PnEw+QQtqSIXklHwIDAQAB -----END RSA PUBLIC KEY-----', ], 'connection' => [ - 'ip_address' => '149.154.167.50', - 'port' => '443', - 'protocol' => 'tcp_full', + 'dc_list' => [ + 2 => [ + 'ip_address' => '149.154.167.50', + 'port' => '443', + 'protocol' => 'tcp_full', + ], + ], ], 'app_info' => [ 'api_id' => 25628, diff --git a/src/danog/MadelineProto/MTProtoTools/CallHandler.php b/src/danog/MadelineProto/MTProtoTools/CallHandler.php index 28c132b9..9708a388 100644 --- a/src/danog/MadelineProto/MTProtoTools/CallHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/CallHandler.php @@ -48,6 +48,7 @@ class CallHandler extends AuthKeyHandler try { $int_message_id = $this->send_message($this->tl->serialize_method($method, $args), $this->tl->content_related($method)); $this->outgoing_messages[$int_message_id]['content'] = ['method' => $method, 'args' => $args]; + var_dump($this->outgoing_messages); $server_answer = $this->wait_for_response($int_message_id); } catch (Exception $e) { $this->log->log('An error occurred while calling method '.$method.': '.$e->getMessage().' in '.$e->getFile().':'.$e->getLine().$e->getTraceAsString().'. Recreating connection and retrying to call method...'); diff --git a/src/danog/MadelineProto/MTProtoTools/MessageHandler.php b/src/danog/MadelineProto/MTProtoTools/MessageHandler.php index 9ee8e59d..f8c5d434 100644 --- a/src/danog/MadelineProto/MTProtoTools/MessageHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/MessageHandler.php @@ -31,7 +31,7 @@ class MessageHandler extends Crypt } else { $seq_no = $this->generate_seq_no($content_related); var_dump($this->settings['authorization']['temp_auth_key']['server_salt']); - $encrypted_data = $this->struct->pack('settings['authorization']['temp_auth_key']['server_salt']).$this->settings['authorization']['session_id'].$message_id.$this->struct->pack('struct->pack('settings['authorization']['temp_auth_key']['server_salt']).$this->settings['authorization']['session_id'].$message_id.$this->struct->pack('aes_calculate($message_key); @@ -63,7 +63,7 @@ class MessageHandler extends Crypt list($aes_key, $aes_iv) = $this->aes_calculate($message_key, 'from server'); $decrypted_data = $this->ige_decrypt($encrypted_data, $aes_key, $aes_iv); - $server_salt = $this->struct->unpack('struct->unpack('settings['authorization']['temp_auth_key']['server_salt']) { throw new Exception('Server salt mismatch (my server salt '.$this->settings['authorization']['temp_auth_key']['server_salt'].' is not equal to server server salt '.$server_salt.').'); } diff --git a/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php b/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php index 2a5e301d..ea38677d 100644 --- a/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php @@ -48,7 +48,10 @@ class ResponseHandler extends MsgIdHandler break; case 'pong': - foreach ($this->outgoing_messages as $msg_id => &$omessage) { + + var_dump($this->outgoing_messages); + foreach ($this->outgoing_messages as $msg_id => &$omessage) { + if (isset($omessage['content']['args']['ping_id']) && $omessage['content']['args']['ping_id'] == $response['ping_id']) { $omessage['response'] = $response['msg_id']; $this->incoming_messages[$response['msg_id']]['content'] = $response; diff --git a/testing.php b/testing.php index 0cd04a92..cd46cbbc 100755 --- a/testing.php +++ b/testing.php @@ -8,8 +8,4 @@ if (!$config) { exit(-1); } -function base64url_decode($data) -{ - return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT)); -} $MadelineProto = new \danog\MadelineProto\API($config);