diff --git a/src/danog/MadelineProto/API.php b/src/danog/MadelineProto/API.php index 9bf1725a..555a9383 100644 --- a/src/danog/MadelineProto/API.php +++ b/src/danog/MadelineProto/API.php @@ -47,6 +47,7 @@ class API extends APIFactory public function __sleep() { + $this->API->reset_session(false); return ['API']; } diff --git a/src/danog/MadelineProto/MTProto.php b/src/danog/MadelineProto/MTProto.php index 16b570d7..e9746e84 100644 --- a/src/danog/MadelineProto/MTProto.php +++ b/src/danog/MadelineProto/MTProto.php @@ -232,12 +232,14 @@ Slv8kg9qv1m6XHVQY3PnEw+QQtqSIXklHwIDAQAB //} } - public function reset_session() + public function reset_session($de = true) { foreach ($this->datacenter->sockets as $id => &$socket) { - \danog\MadelineProto\Logger::log('Resetting session id and seq_no in DC '.$id.'...'); - $socket->session_id = \danog\MadelineProto\Tools::random(8); - $socket->seq_no = 0; + if ($de) { + \danog\MadelineProto\Logger::log('Resetting session id and seq_no in DC '.$id.'...'); + $socket->session_id = \danog\MadelineProto\Tools::random(8); + $socket->seq_no = 0; + } $socket->incoming_messages = []; $socket->outgoing_messages = []; $socket->new_outgoing = [];