1
0
mirror of https://github.com/danog/MadelineProto.git synced 2024-11-30 07:58:58 +01:00

.env and performance improvements (#45)

* * Changes for use .env file and not a php with sensible data

* * Changes for use .env file and not a php with sensible data

* * Changes for use .env file and not a php with sensible data

* * Changes for use .env file and not a php with sensible data

* Changes for use .env files
* Moving $settings to .env file

* Update testing.php

syntax

* Update testing.php

* * More variables moved to environments file and updated .env.example file
* improvement in defining device_model and system_version
* Performance improvements in defining settings
* removed desnecessary call to unserialize class in testing file
This commit is contained in:
Vitor Mattos 2017-01-20 18:02:21 -02:00 committed by Daniil Gentili
parent 2b84d543f7
commit 3bb266e20b
3 changed files with 14 additions and 22 deletions

View File

@ -1,2 +1,5 @@
MTPROTO_NUMBER=+123456789 MTPROTO_NUMBER=+123456789
MTPROTO_SETTINGS=[] MTPROTO_SETTINGS={"app_info":{"api_id":65536,"api_hash":"4251a2777e179232705e2462706f4143"}}
TEST_USERNAME=@danogentili
TEST_DESTINATION_GROUPS=["@pwrtelegramgroup","@pwrtelegramgroupita"]
BOT_TOKEN=

View File

@ -82,17 +82,17 @@ class MTProto extends PrimeModule
$this->ipv6 = strlen($google) > 0; $this->ipv6 = strlen($google) > 0;
// Detect device model // Detect device model
$device_model = 'Web server';
try { try {
$device_model = php_uname('s'); $device_model = php_uname('s');
} catch (Exception $e) { } catch (Exception $e) {
$device_model = 'Web server';
} }
// Detect system version // Detect system version
$system_version = phpversion();
try { try {
$system_version = php_uname('r'); $system_version = php_uname('r');
} catch (Exception $e) { } catch (Exception $e) {
$system_version = phpversion();
} }
// Set default settings // Set default settings
@ -203,16 +203,7 @@ Slv8kg9qv1m6XHVQY3PnEw+QQtqSIXklHwIDAQAB
], ],
'pwr' => ['pwr' => false, 'db_token' => false, 'strict' => false], 'pwr' => ['pwr' => false, 'db_token' => false, 'strict' => false],
]; ];
foreach ($default_settings as $key => $param) { $settings = array_replace_recursive($default_settings, $settings);
if (!isset($settings[$key])) {
$settings[$key] = $param;
}
foreach ($param as $subkey => $subparam) {
if (!isset($settings[$key][$subkey])) {
$settings[$key][$subkey] = $subparam;
}
}
}
if (isset($settings['connection_settings']['all'])) { if (isset($settings['connection_settings']['all'])) {
foreach ($this->range(1, 6) as $n) { foreach ($this->range(1, 6) as $n) {
if (!isset($settings['connection_settings'][$n])) { if (!isset($settings['connection_settings'][$n])) {

View File

@ -16,6 +16,7 @@ if (file_exists('web_data.php')) {
require_once 'web_data.php'; require_once 'web_data.php';
} }
echo 'Deserializing MadelineProto from session.madeline...'.PHP_EOL;
$MadelineProto = \danog\MadelineProto\Serialization::deserialize('session.madeline'); $MadelineProto = \danog\MadelineProto\Serialization::deserialize('session.madeline');
if (file_exists('.env')) { if (file_exists('.env')) {
@ -42,12 +43,10 @@ if ($MadelineProto === false) {
echo 'Serializing MadelineProto to session.madeline...'.PHP_EOL; echo 'Serializing MadelineProto to session.madeline...'.PHP_EOL;
echo 'Wrote '.\danog\MadelineProto\Serialization::serialize('session.madeline', $MadelineProto).' bytes'.PHP_EOL; echo 'Wrote '.\danog\MadelineProto\Serialization::serialize('session.madeline', $MadelineProto).' bytes'.PHP_EOL;
} }
echo 'Deserializing MadelineProto from session.madeline...'.PHP_EOL;
$MadelineProto = \danog\MadelineProto\Serialization::deserialize('session.madeline');
$message = (getenv('TRAVIS_COMMIT') == '') ? 'I iz works always (io laborare sembre) (yo lavorar siempre)' : ('Travis ci tests in progress: commit '.getenv('TRAVIS_COMMIT').', job '.getenv('TRAVIS_JOB_NUMBER').', PHP version: '.getenv('TRAVIS_PHP_VERSION')); $message = (getenv('TRAVIS_COMMIT') == '') ? 'I iz works always (io laborare sembre) (yo lavorar siempre)' : ('Travis ci tests in progress: commit '.getenv('TRAVIS_COMMIT').', job '.getenv('TRAVIS_JOB_NUMBER').', PHP version: '.getenv('TRAVIS_PHP_VERSION'));
$flutter = 'https://storage.pwrtelegram.xyz/pwrtelegrambot/document/file_6570.mp4'; $flutter = 'https://storage.pwrtelegram.xyz/pwrtelegrambot/document/file_6570.mp4';
$mention = $MadelineProto->get_info('@danogentili'); // Returns an array with all of the constructors that can be extracted from a username or an id $mention = $MadelineProto->get_info(getenv('TEST_USERNAME')); // Returns an array with all of the constructors that can be extracted from a username or an id
$mention = $mention['user_id']; // Selects only the numeric user id $mention = $mention['user_id']; // Selects only the numeric user id
$media = []; $media = [];
@ -84,7 +83,7 @@ $inputFile = $MadelineProto->upload('60', 'magic'); // This gets an inputFile ob
var_dump(time() - $time); var_dump(time() - $time);
$media['document'] = ['_' => 'inputMediaUploadedDocument', 'file' => $inputFile, 'mime_type' => 'magic/magic', 'caption' => 'This file was uploaded using MadelineProto', 'attributes' => [['_' => 'documentAttributeFilename', 'file_name' => 'magic.magic']]]; $media['document'] = ['_' => 'inputMediaUploadedDocument', 'file' => $inputFile, 'mime_type' => 'magic/magic', 'caption' => 'This file was uploaded using MadelineProto', 'attributes' => [['_' => 'documentAttributeFilename', 'file_name' => 'magic.magic']]];
foreach (['@pwrtelegramgroup', '@pwrtelegramgroupita'] as $peer) { foreach (json_decode(getenv('TEST_DESTINATION_GROUPS'), true) as $peer) {
$sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'entities' => [['_' => 'inputMessageEntityMentionName', 'offset' => 0, 'length' => strlen($message), 'user_id' => $mention]]]); $sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'entities' => [['_' => 'inputMessageEntityMentionName', 'offset' => 0, 'length' => strlen($message), 'user_id' => $mention]]]);
\danog\MadelineProto\Logger::log($sentMessage); \danog\MadelineProto\Logger::log($sentMessage);
foreach ($media as $type => $inputMedia) { foreach ($media as $type => $inputMedia) {
@ -99,17 +98,16 @@ echo 'Serializing MadelineProto to session.madeline...'.PHP_EOL;
echo 'Wrote '.\danog\MadelineProto\Serialization::serialize('session.madeline', $MadelineProto).' bytes'.PHP_EOL; echo 'Wrote '.\danog\MadelineProto\Serialization::serialize('session.madeline', $MadelineProto).' bytes'.PHP_EOL;
echo 'Size of MadelineProto instance is '.strlen(serialize($MadelineProto)).' bytes'.PHP_EOL; echo 'Size of MadelineProto instance is '.strlen(serialize($MadelineProto)).' bytes'.PHP_EOL;
if (file_exists('token.php')) { if ($bot_token = getenv('BOT_TOKEN')) {
include_once 'token.php';
$MadelineProto = new \danog\MadelineProto\API($settings); $MadelineProto = new \danog\MadelineProto\API($settings);
$authorization = $MadelineProto->bot_login($token); $authorization = $MadelineProto->bot_login($bot_token);
\danog\MadelineProto\Logger::log($authorization); \danog\MadelineProto\Logger::log($authorization);
} }
$message = 'yay'; $message = 'yay';
$mention = $MadelineProto->get_info('@danogentili'); // Returns an array with all of the constructors that can be extracted from a username or an id $mention = $MadelineProto->get_info(getenv('TEST_USERNAME')); // Returns an array with all of the constructors that can be extracted from a username or an id
$mention = $mention['user_id']; // Selects only the numeric user id $mention = $mention['user_id']; // Selects only the numeric user id
foreach (['@pwrtelegramgroup', '@pwrtelegramgroupita'] as $peer) { foreach (json_decode(getenv('TEST_DESTINATION_GROUPS'), true) as $peer) {
$sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'entities' => [['_' => 'inputMessageEntityMentionName', 'offset' => 0, 'length' => strlen($message), 'user_id' => $mention]]]); $sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'entities' => [['_' => 'inputMessageEntityMentionName', 'offset' => 0, 'length' => strlen($message), 'user_id' => $mention]]]);
\danog\MadelineProto\Logger::log($sentMessage); \danog\MadelineProto\Logger::log($sentMessage);
} }