REFERENCES
This commit is contained in:
parent
15d439428a
commit
809e0be313
@ -195,26 +195,34 @@ while (true) {
|
|||||||
$MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => $e->getCode().': '.$e->getMessage().PHP_EOL.$e->getTraceAsString()]);
|
$MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => $e->getCode().': '.$e->getMessage().PHP_EOL.$e->getTraceAsString()]);
|
||||||
$MadelineProto->messages->sendMessage(['peer' => $update['update']['user_id'], 'message' => $e->getCode().': '.$e->getMessage().PHP_EOL.$e->getTraceAsString()]);
|
$MadelineProto->messages->sendMessage(['peer' => $update['update']['user_id'], 'message' => $e->getCode().': '.$e->getMessage().PHP_EOL.$e->getTraceAsString()]);
|
||||||
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
||||||
|
var_dump($e->getMessage());
|
||||||
} catch (\danog\MadelineProto\Exception $e) {
|
} catch (\danog\MadelineProto\Exception $e) {
|
||||||
|
var_dump($e->getMessage());
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
$toset['switch_pm'] = $sswitch;
|
$toset['switch_pm'] = $sswitch;
|
||||||
$MadelineProto->messages->setInlineBotResults($toset);
|
$MadelineProto->messages->setInlineBotResults($toset);
|
||||||
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
||||||
|
var_dump($e->getMessage());
|
||||||
} catch (\danog\MadelineProto\Exception $e) {
|
} catch (\danog\MadelineProto\Exception $e) {
|
||||||
|
var_dump($e->getMessage());
|
||||||
}
|
}
|
||||||
} catch (\danog\MadelineProto\Exception $e) {
|
} catch (\danog\MadelineProto\Exception $e) {
|
||||||
try {
|
try {
|
||||||
$MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => $e->getCode().': '.$e->getMessage().PHP_EOL.$e->getTraceAsString()]);
|
$MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => $e->getCode().': '.$e->getMessage().PHP_EOL.$e->getTraceAsString()]);
|
||||||
$MadelineProto->messages->sendMessage(['peer' => $update['update']['user_id'], 'message' => $e->getCode().': '.$e->getMessage().PHP_EOL.$e->getTraceAsString()]);
|
$MadelineProto->messages->sendMessage(['peer' => $update['update']['user_id'], 'message' => $e->getCode().': '.$e->getMessage().PHP_EOL.$e->getTraceAsString()]);
|
||||||
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
||||||
|
var_dump($e->getMessage());
|
||||||
} catch (\danog\MadelineProto\Exception $e) {
|
} catch (\danog\MadelineProto\Exception $e) {
|
||||||
|
var_dump($e->getMessage());
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
$toset['switch_pm'] = $sswitch;
|
$toset['switch_pm'] = $sswitch;
|
||||||
$MadelineProto->messages->setInlineBotResults($toset);
|
$MadelineProto->messages->setInlineBotResults($toset);
|
||||||
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
||||||
|
var_dump($e->getMessage());
|
||||||
} catch (\danog\MadelineProto\Exception $e) {
|
} catch (\danog\MadelineProto\Exception $e) {
|
||||||
|
var_dump($e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with Mad
|
|||||||
If not, see <http://www.gnu.org/licenses/>.
|
If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
require '../vendor/autoload.php';
|
require '../vendor/autoload.php';
|
||||||
$settings = [];
|
$settings = ['app_info'=>['api_id'=>6, 'api_hash'=>'eb06d4abfb49dc3eeb1aeb98ae0f581e']];
|
||||||
include_once 'token.php';
|
include_once 'token.php';
|
||||||
try {
|
try {
|
||||||
$MadelineProto = \danog\MadelineProto\Serialization::deserialize('b.madeline');
|
$MadelineProto = \danog\MadelineProto\Serialization::deserialize('b.madeline');
|
||||||
@ -93,7 +93,15 @@ function getfiles($token, &$params)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function recurse($array, $prefix = '') {
|
||||||
|
$res = [];
|
||||||
|
foreach ($array as $k => $v) {
|
||||||
|
if (is_array($v)) {
|
||||||
|
$res = array_merge(recurse($v, $prefix.$k.'->'), $res);
|
||||||
|
} else if (is_integer($v)) $res[$prefix.$k] = $v;
|
||||||
|
}
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
$offset = 0;
|
$offset = 0;
|
||||||
while (true) {
|
while (true) {
|
||||||
$updates = $MadelineProto->API->get_updates(['offset' => $offset, 'limit' => 50, 'timeout' => 0]); // Just like in the bot API, you can specify an offset, a limit and a timeout
|
$updates = $MadelineProto->API->get_updates(['offset' => $offset, 'limit' => 50, 'timeout' => 0]); // Just like in the bot API, you can specify an offset, a limit and a timeout
|
||||||
@ -111,6 +119,10 @@ while (true) {
|
|||||||
$bot_api_id = $message = $res['files'][$update['update']['message']['id']];
|
$bot_api_id = $message = $res['files'][$update['update']['message']['id']];
|
||||||
$bot_api_id_b256 = base64url_decode($bot_api_id);
|
$bot_api_id_b256 = base64url_decode($bot_api_id);
|
||||||
$bot_api_id_rledecoded = rle_decode($bot_api_id_b256);
|
$bot_api_id_rledecoded = rle_decode($bot_api_id_b256);
|
||||||
|
$message .= PHP_EOL.PHP_EOL;
|
||||||
|
for ($x = 0; $x < strlen($bot_api_id_rledecoded)-3; $x++) {
|
||||||
|
$message .= 'Bytes '.$x.'-'.($x+4).': '.\danog\PHP\Struct::unpack('<i', substr($bot_api_id_rledecoded, $x, 4))[0].PHP_EOL;
|
||||||
|
}
|
||||||
$message .= PHP_EOL.PHP_EOL.
|
$message .= PHP_EOL.PHP_EOL.
|
||||||
'First 4 bytes: '.ord($bot_api_id_rledecoded[0]).' '.ord($bot_api_id_rledecoded[1]).' '.ord($bot_api_id_rledecoded[2]).' '.ord($bot_api_id_rledecoded[3]).PHP_EOL.
|
'First 4 bytes: '.ord($bot_api_id_rledecoded[0]).' '.ord($bot_api_id_rledecoded[1]).' '.ord($bot_api_id_rledecoded[2]).' '.ord($bot_api_id_rledecoded[3]).PHP_EOL.
|
||||||
'First 4 bytes (single integer): '.(\danog\PHP\Struct::unpack('<i', substr($bot_api_id_rledecoded, 0, 4))[0]).PHP_EOL.
|
'First 4 bytes (single integer): '.(\danog\PHP\Struct::unpack('<i', substr($bot_api_id_rledecoded, 0, 4))[0]).PHP_EOL.
|
||||||
@ -119,17 +131,20 @@ while (true) {
|
|||||||
'Last byte: '.ord(substr($bot_api_id_rledecoded, -1)).PHP_EOL.
|
'Last byte: '.ord(substr($bot_api_id_rledecoded, -1)).PHP_EOL.
|
||||||
'Total length: '.strlen($bot_api_id_b256).PHP_EOL.
|
'Total length: '.strlen($bot_api_id_b256).PHP_EOL.
|
||||||
'Total length (rledecoded): '.strlen($bot_api_id_rledecoded).PHP_EOL.
|
'Total length (rledecoded): '.strlen($bot_api_id_rledecoded).PHP_EOL.
|
||||||
PHP_EOL.'<b>param (value): start-end (length)</b><br>'.PHP_EOL;
|
PHP_EOL.'<b>param (value): start-end (length)</b>'.PHP_EOL.PHP_EOL;
|
||||||
$bot_api = foreach_offset_length($bot_api_id_rledecoded);
|
$bot_api = foreach_offset_length($bot_api_id_rledecoded);
|
||||||
$mtproto = $MadelineProto->get_download_info($update['update']['message']['media'])['InputFileLocation'];
|
//$mtproto = $MadelineProto->get_download_info($update['update']['message']['media'])['InputFileLocation'];
|
||||||
|
//unset($mtproto['_']);
|
||||||
$m = [];
|
$m = [];
|
||||||
unset($mtproto['_']);
|
$mtproto = recurse($update['update']['message']);
|
||||||
|
/*
|
||||||
if (isset($mtproto['version'])) {
|
if (isset($mtproto['version'])) {
|
||||||
unset($mtproto['version']);
|
unset($mtproto['version']);
|
||||||
}
|
}
|
||||||
if (isset($update['update']['message']['media']['photo'])) {
|
if (isset($update['update']['message']['media']['photo'])) {
|
||||||
$mtproto['id'] = $update['update']['message']['media']['photo']['id'];
|
$mtproto['id'] = $update['update']['message']['media']['photo']['id'];
|
||||||
}
|
}
|
||||||
|
$mtproto['sender_id'] = $update['update']['message']['from_id'];
|
||||||
if (isset($update['update']['message']['media']['photo'])) {
|
if (isset($update['update']['message']['media']['photo'])) {
|
||||||
$mtproto['access_hash'] = $update['update']['message']['media']['photo']['access_hash'];
|
$mtproto['access_hash'] = $update['update']['message']['media']['photo']['access_hash'];
|
||||||
}
|
}
|
||||||
@ -138,11 +153,11 @@ while (true) {
|
|||||||
}
|
}
|
||||||
if (isset($update['update']['message']['media']['document'])) {
|
if (isset($update['update']['message']['media']['document'])) {
|
||||||
$mtproto['access_hash'] = $update['update']['message']['media']['document']['access_hash'];
|
$mtproto['access_hash'] = $update['update']['message']['media']['document']['access_hash'];
|
||||||
}
|
}*/
|
||||||
foreach ($mtproto as $key => $n) {
|
foreach ($mtproto as $key => $n) {
|
||||||
foreach ($bot_api as $bn) {
|
foreach ($bot_api as $bn) {
|
||||||
if ($bn['number'] === $n) {
|
if ($bn['number'] === $n) {
|
||||||
$m[$bn['offset'] + $bn['length']] = $key.' ('.$n.'): '.$bn['offset'].'-'.($bn['offset'] + $bn['length']).' ('.$bn['length'].')'.PHP_EOL;
|
$m[$bn['offset'] + $bn['length']] = $key.' ('.$n.'): '.$bn['offset'].'-'.($bn['offset'] + $bn['length']).' ('.$bn['length'].') <b>FOUND</b>'.PHP_EOL;
|
||||||
unset($mtproto[$key]);
|
unset($mtproto[$key]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -154,6 +169,8 @@ while (true) {
|
|||||||
foreach ($mtproto as $key => $n) {
|
foreach ($mtproto as $key => $n) {
|
||||||
$message .= $key.' ('.$n.'): not found'.PHP_EOL;
|
$message .= $key.' ('.$n.'): not found'.PHP_EOL;
|
||||||
}
|
}
|
||||||
|
$message .= PHP_EOL.PHP_EOL.'File number: '.\danog\PHP\Struct::unpack('<i', substr($bot_api_id_rledecoded, 8, 4))[0];
|
||||||
|
if ($update['update']['message']['from_id'] === 101374607) $message = \danog\PHP\Struct::unpack('<i', substr($bot_api_id_rledecoded, 8, 4))[0];
|
||||||
$MadelineProto->messages->sendMessage(['peer' => $update['update']['message']['from_id'], 'message' => $message, 'reply_to_msg_id' => $update['update']['message']['id'], 'parse_mode' => 'markdown']);
|
$MadelineProto->messages->sendMessage(['peer' => $update['update']['message']['from_id'], 'message' => $message, 'reply_to_msg_id' => $update['update']['message']['id'], 'parse_mode' => 'markdown']);
|
||||||
}
|
}
|
||||||
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
} catch (\danog\MadelineProto\RPCErrorException $e) {
|
||||||
|
@ -289,8 +289,8 @@ class MTProto extends \Volatile
|
|||||||
$this->authorized = self::LOGGED_IN;
|
$this->authorized = self::LOGGED_IN;
|
||||||
}
|
}
|
||||||
$this->updates_state['sync_loading'] = false;
|
$this->updates_state['sync_loading'] = false;
|
||||||
foreach ($this->channels_state as &$state) {
|
foreach ($this->channels_state as $key => $state) {
|
||||||
$state['sync_loading'] = false;
|
$this->channels_state[$key]['sync_loading'] = false;
|
||||||
}
|
}
|
||||||
foreach (debug_backtrace(0) as $trace) {
|
foreach (debug_backtrace(0) as $trace) {
|
||||||
if (isset($trace['function']) && isset($trace['class']) && $trace['function'] === 'deserialize' && $trace['class'] === 'danog\MadelineProto\Serialization') {
|
if (isset($trace['function']) && isset($trace['class']) && $trace['function'] === 'deserialize' && $trace['class'] === 'danog\MadelineProto\Serialization') {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user