Passive update polling
This commit is contained in:
parent
237638aecf
commit
514aa7e1a8
@ -65,7 +65,6 @@ trait UpdateHandler
|
|||||||
$this->updates[$this->updates_key++] = $update;
|
$this->updates[$this->updates_key++] = $update;
|
||||||
//\danog\MadelineProto\Logger::log(['Stored ', $update);
|
//\danog\MadelineProto\Logger::log(['Stored ', $update);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_updates($params = [])
|
public function get_updates($params = [])
|
||||||
{
|
{
|
||||||
if (!$this->settings['updates']['handle_updates']) {
|
if (!$this->settings['updates']['handle_updates']) {
|
||||||
@ -80,7 +79,24 @@ trait UpdateHandler
|
|||||||
$time = microtime(true);
|
$time = microtime(true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
try {
|
||||||
|
if (($error = $this->recv_message($this->datacenter->curdc)) !== true) {
|
||||||
|
if ($error === -404) {
|
||||||
|
if ($this->datacenter->sockets[$this->datacenter->curdc]->temp_auth_key !== null) {
|
||||||
|
\danog\MadelineProto\Logger::log(['WARNING: Resetting auth key...'], \danog\MadelineProto\Logger::WARNING);
|
||||||
|
$this->datacenter->sockets[$this->datacenter->curdc]->temp_auth_key = null;
|
||||||
|
$this->init_authorization();
|
||||||
|
throw new \danog\MadelineProto\Exception('I had to recreate the temporary authorization key');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new \danog\MadelineProto\RPCErrorException($error, $error);
|
||||||
|
}
|
||||||
|
$only_updates = $this->handle_messages($this->datacenter->curdc);
|
||||||
|
} catch (\danog\MadelineProto\NothingInTheSocketException $e) {}
|
||||||
|
if (time() - $this->last_recv > 30) {
|
||||||
|
var_dump("Getting difference");
|
||||||
$this->get_updates_difference();
|
$this->get_updates_difference();
|
||||||
|
}
|
||||||
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
||||||
if ($e->rpc !== 'RPC_CALL_FAIL') {
|
if ($e->rpc !== 'RPC_CALL_FAIL') {
|
||||||
throw $e;
|
throw $e;
|
||||||
|
Loading…
Reference in New Issue
Block a user