From 58f0bce84b2ce5bab3e80c2901094e0ec4236da0 Mon Sep 17 00:00:00 2001 From: Daniil Gentili Date: Sat, 1 Jun 2019 13:13:59 +0200 Subject: [PATCH] Fix photosize conversion --- src/danog/MadelineProto/MTProtoTools/ResponseHandler.php | 5 ++++- src/danog/MadelineProto/TL/Conversion/BotAPI.php | 8 +++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php b/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php index f943a213..76cd65b0 100644 --- a/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php @@ -64,7 +64,10 @@ trait ResponseHandler while ($this->datacenter->sockets[$datacenter]->new_incoming) { reset($this->datacenter->sockets[$datacenter]->new_incoming); $current_msg_id = key($this->datacenter->sockets[$datacenter]->new_incoming); - if (!isset($this->datacenter->sockets[$datacenter]->incoming_messages[$current_msg_id])) continue; + if (!isset($this->datacenter->sockets[$datacenter]->incoming_messages[$current_msg_id])) { + unset($this->datacenter->sockets[$datacenter]->new_incoming[$current_msg_id]); + continue; + } $this->logger->logger((isset($this->datacenter->sockets[$datacenter]->incoming_messages[$current_msg_id]['from_container']) ? 'Inside of container, received ' : 'Received ').$this->datacenter->sockets[$datacenter]->incoming_messages[$current_msg_id]['content']['_'].' from DC '.$datacenter, \danog\MadelineProto\Logger::ULTRA_VERBOSE); switch ($this->datacenter->sockets[$datacenter]->incoming_messages[$current_msg_id]['content']['_']) { diff --git a/src/danog/MadelineProto/TL/Conversion/BotAPI.php b/src/danog/MadelineProto/TL/Conversion/BotAPI.php index de929945..9ea56005 100644 --- a/src/danog/MadelineProto/TL/Conversion/BotAPI.php +++ b/src/danog/MadelineProto/TL/Conversion/BotAPI.php @@ -289,7 +289,9 @@ trait BotAPI } $res['photo'] = []; foreach ($data['photo']['sizes'] as $key => $photo) { - $res['photo'][$key] = yield $this->photosize_to_botapi_async($photo, $data['photo']); + if (in_array($photo['_'], ['photoCachedSize', 'photoSize'])) { + $res['photo'][$key] = yield $this->photosize_to_botapi_async($photo, $data['photo']); + } } return $res; @@ -298,8 +300,8 @@ trait BotAPI case 'messageMediaDocument': $type_name = 'document'; $res = []; - if ($data['document']['thumb']['_'] === 'photoSize') { - $res['thumb'] = yield $this->photosize_to_botapi_async($data['document']['thumb'], [], true); + if (isset($data['document']['thumbs']) && $data['document']['thumbs'] && in_array(end($data['document']['thumbs'])['_'], ['photoCachedSize', 'photoSize'])) { + $res['thumb'] = yield $this->photosize_to_botapi_async(end($data['document']['thumbs']), [], true); } foreach ($data['document']['attributes'] as $attribute) { switch ($attribute['_']) {