danog / MadelineProto

Async PHP client API for the telegram MTProto protocol
https://docs.madelineproto.xyz
GNU Affero General Public License v3.0
2.76k stars 619 forks source link

doesn't work after upgrade MadelineProto from 7 to 8 #1412

Closed morozovsk closed 10 months ago

morozovsk commented 10 months ago
Logger:                 MadelineProto 8.0.0-beta150
Logger:                 Copyright (C) 2016-2023 Daniil Gentili
Logger:                 Licensed under AGPLv3
Logger:                 https://github.com/danog/MadelineProto
Serialization:          Got exclusive session lock!
DataCenterConnection, :       Reconnecting shared DC 2
DataCenterConnection, :       Disconnecting from shared DC 2
DataCenterConnection, :       Backed up 0, added to 0 existing messages) from DC 2
DataCenterConnection, :       Restoring 0 messages to DC 2
DataCenterConnection, :       Reconnecting shared DC 1
DataCenterConnection, :       Disconnecting from shared DC 1
DataCenterConnection, :       Backed up 0, added to 0 existing messages) from DC 1
DataCenterConnection, :       Restoring 0 messages to DC 1
Session, :            Resetting session in DC 1.0...
Connection, :         Connecting to DC 1.0 via tcp://149.154.175.52:443 main DC 1, via ipv4 using AbridgedStream => BufferedRawStream => DefaultStream 
TypeError: danog\MadelineProto\DataCenter::generateContexts(): Argument #1 ($dc_number) must be of type int, string given, called in /var/www/my/vendor/danog/madelineproto/src/DataCenter.php on line 100 and defined in /var/www/my/vendor/danog/madelineproto/src/DataCenter.php:184
Stack trace:
#0 /var/www/my/vendor/danog/madelineproto/src/DataCenter.php(100): danog\MadelineProto\DataCenter->generateContexts()
#1 /var/www/my/vendor/danog/madelineproto/src/MTProto.php(822): danog\MadelineProto\DataCenter->__construct()
#2 /var/www/my/vendor/danog/madelineproto/src/MTProto.php(926): danog\MadelineProto\MTProto->cleanupProperties()
#3 /var/www/my/vendor/danog/madelineproto/src/API.php(354): danog\MadelineProto\MTProto->wakeup()
#4 /var/www/my/vendor/danog/madelineproto/src/API.php(213): danog\MadelineProto\API->connectToMadelineProto()
#5 /var/www/my/components/MadelineProto.php(23): danog\MadelineProto\API->__construct()
#6 /var/www/my/components/MadelineProto.php(35): app\components\MadelineProto::setInstance()
#7 /var/www/my/commands/TgController.php(1125): app\components\MadelineProto::getInstance()
#8 [internal function]: app\commands\TgController->actionUpdate()
#9 /var/www/my/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#10 /var/www/my/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
#11 /var/www/my/vendor/yiisoft/yii2/console/Controller.php(182): yii\base\Controller->runAction()
#12 /var/www/my/vendor/yiisoft/yii2/base/Module.php(552): yii\console\Controller->runAction()
#13 /var/www/my/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
#14 /var/www/my/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction()
#15 /var/www/my/vendor/yiisoft/yii2/base/Application.php(384): yii\console\Application->handleRequest()
#16 /var/www/my/yii(20): yii\base\Application->run()
#17 {main}
Connection, :         Connected to DC 1.0 via tcp://149.154.175.52:443 main DC 1, via ipv4 using AbridgedStream => BufferedRawStream => DefaultStream!
Exception, :          Undefined array key "encrypted" in CallHandler.php:161
MTProto, :            While reporting to : \danog\MadelineProto\Exception: Undefined array key "encrypted" in /var/www/my/vendor/danog/madelineproto/src/MTProtoSession/CallHandler.php:161
Revision: 8.0.0-beta150
TL Trace:

CallHandler.php(161):   exceptionErrorHandler()
CallHandler.php(99):    methodCallAsyncWrite()
CallHandler.php(47):    methodCallAsyncRead()
MTProto.php(1321):      methodCallAsyncRead()
CallHandler.php(130):   getConfig()
CallHandler.php(99):    methodCallAsyncWrite()
CallHandler.php(47):    methodCallAsyncRead()
MTProto.php(1659):      methodCallAsyncRead()
MTProto.php(991):       report()
API.php(354):           wakeup()
API.php(213):           connectToMadelineProto()
MadelineProto.php(23):  __construct()
MadelineProto.php(35):  setInstance()
TgController.php(1125): getInstance()
actionUpdate()
InlineAction.php(57):   call_user_func_array()
Controller.php(178):    runWithParams()
Controller.php(182):    runAction()
Module.php(552):        runAction()
Application.php(180):   runAction()
Application.php(147):   runAction()
Application.php(384):   handleRequest()
yii(20):                run()
Exception, :          TypeError: danog\MadelineProto\DataCenter::generateContexts(): Argument #1 ($dc_number) must be of type int, string given, called in /var/www/my/vendor/danog/madelineproto/src/DataCenter.php on line 100 and defined in /var/www/my/vendor/danog/madelineproto/src/DataCenter.php:184
Stack trace:
#0 /var/www/my/vendor/danog/madelineproto/src/DataCenter.php(100): danog\MadelineProto\DataCenter->generateContexts()
#1 /var/www/my/vendor/danog/madelineproto/src/MTProto.php(822): danog\MadelineProto\DataCenter->__construct()
#2 /var/www/my/vendor/danog/madelineproto/src/MTProto.php(926): danog\MadelineProto\MTProto->cleanupProperties()
#3 /var/www/my/vendor/danog/madelineproto/src/API.php(354): danog\MadelineProto\MTProto->wakeup()
#4 /var/www/my/vendor/danog/madelineproto/src/API.php(213): danog\MadelineProto\API->connectToMadelineProto()
#5 /var/www/my/components/MadelineProto.php(23): danog\MadelineProto\API->__construct()
#6 /var/www/my/components/MadelineProto.php(35): app\components\MadelineProto::setInstance()
#7 /var/www/my/commands/TgController.php(1125): app\components\MadelineProto::getInstance()
#8 [internal function]: app\commands\TgController->actionUpdate()
#9 /var/www/my/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#10 /var/www/my/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
#11 /var/www/my/vendor/yiisoft/yii2/console/Controller.php(182): yii\base\Controller->runAction()
#12 /var/www/my/vendor/yiisoft/yii2/base/Module.php(552): yii\console\Controller->runAction()
#13 /var/www/my/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
#14 /var/www/my/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction()
#15 /var/www/my/vendor/yiisoft/yii2/base/Application.php(384): yii\console\Application->handleRequest()
#16 /var/www/my/yii(20): yii\base\Application->run()
#17 {main}
MTProto, :            Prompting final serialization (SHUTDOWN)...
SessionPaths, :       Waiting for exclusive lock of /var/www/my/runtime/madeline/alina.madeline/safe.php.lock...
SessionPaths, :       Got exclusive lock of /var/www/my/runtime/madeline/alina.madeline/safe.php.lock...
SessionPaths, :       Waiting for exclusive lock of /var/www/my/runtime/madeline/alina.madeline/lightState.php.lock...
SessionPaths, :       Got exclusive lock of /var/www/my/runtime/madeline/alina.madeline/lightState.php.lock...
APIWrapper, :         Saved session!
MTProto, :            Done final serialization (SHUTDOWN)!
MTProto, :            Shutting down MadelineProto (MTProto)
MTProto, :            Will unreference instance
DataCenterConnection, :       Disconnecting from shared DC 2
Connection, :         Disconnecting from DC 2.0
DataCenterConnection, :       Backed up  from DC 2.0
Connection, :         Disconnected from DC 2.0
DataCenterConnection, :       Backed up 0, added to 0 existing messages) from DC 2
DataCenterConnection, :       Disconnecting from shared DC 1
Connection, :         Disconnecting from DC 1.0
DataCenterConnection, :       Backed up  from DC 1.0
Connection, :         Disconnected from DC 1.0
DataCenterConnection, :       Backed up 0, added to 0 existing messages) from DC 1
MTProto, :            Unreferenced instance
MTProto, :            Successfully destroyed MadelineProto
danog commented 10 months ago

You should recreate the session, v7 sessions are not compatible with v8.