@@ -13,7 +13,7 @@ |
||
| 13 | 13 | if (lock::exist('BPT-MULTI-EXEC')) { |
| 14 | 14 | self::setUpdate(exec::init()); |
| 15 | 15 | } |
| 16 | - elseif(lock::exist('BPT-MULTI-CURL')) { |
|
| 16 | + elseif (lock::exist('BPT-MULTI-CURL')) { |
|
| 17 | 17 | self::setUpdate(curl::init()); |
| 18 | 18 | } |
| 19 | 19 | else { |
@@ -12,11 +12,9 @@ |
||
| 12 | 12 | public static function init() { |
| 13 | 13 | if (lock::exist('BPT-MULTI-EXEC')) { |
| 14 | 14 | self::setUpdate(exec::init()); |
| 15 | - } |
|
| 16 | - elseif(lock::exist('BPT-MULTI-CURL')) { |
|
| 15 | + } elseif(lock::exist('BPT-MULTI-CURL')) { |
|
| 17 | 16 | self::setUpdate(curl::init()); |
| 18 | - } |
|
| 19 | - else { |
|
| 17 | + } else { |
|
| 20 | 18 | self::deleteOldLocks(); |
| 21 | 19 | self::checkURL(); |
| 22 | 20 | self::setCertificate(); |
@@ -22,8 +22,7 @@ discard block |
||
| 22 | 22 | self::handleUpdates($updates); |
| 23 | 23 | lock::save('getUpdate',BPT::$update->update_id+1); |
| 24 | 24 | $last_update_id = BPT::$update->update_id+1; |
| 25 | - } |
|
| 26 | - else { |
|
| 25 | + } else { |
|
| 27 | 26 | logger::write("There is some problem happened , telegram response : \n".json_encode($updates),loggerTypes::ERROR); |
| 28 | 27 | BPT::exit(print_r($updates,true)); |
| 29 | 28 | } |
@@ -34,8 +33,7 @@ discard block |
||
| 34 | 33 | private static function loadData(): bool|int|string { |
| 35 | 34 | if (lock::exist('getUpdate')) { |
| 36 | 35 | $last_update_id = lock::read('getUpdate'); |
| 37 | - } |
|
| 38 | - else { |
|
| 36 | + } else { |
|
| 39 | 37 | self::deleteOldLocks(); |
| 40 | 38 | telegram::deleteWebhook(); |
| 41 | 39 | $last_update_id = 0; |
@@ -14,25 +14,25 @@ discard block |
||
| 14 | 14 | * getUpdates class , For receiving updates by polling methods |
| 15 | 15 | */ |
| 16 | 16 | class getUpdates extends receiver { |
| 17 | - public static function init () { |
|
| 17 | + public static function init() { |
|
| 18 | 18 | $last_update_id = self::loadData(); |
| 19 | - while(true) { |
|
| 19 | + while (true) { |
|
| 20 | 20 | if (!lock::exist('getUpdate')) { |
| 21 | - $updates = telegram::getUpdates($last_update_id,allowed_updates: settings::$allowed_updates); |
|
| 21 | + $updates = telegram::getUpdates($last_update_id, allowed_updates: settings::$allowed_updates); |
|
| 22 | 22 | if (telegram::$status) { |
| 23 | 23 | self::handleUpdates($updates); |
| 24 | - lock::save('getUpdate',BPT::$update->update_id+1); |
|
| 25 | - $last_update_id = BPT::$update->update_id+1; |
|
| 24 | + lock::save('getUpdate', BPT::$update->update_id + 1); |
|
| 25 | + $last_update_id = BPT::$update->update_id + 1; |
|
| 26 | 26 | } |
| 27 | 27 | else { |
| 28 | - logger::write("There is some problem happened , telegram response : \n".json_encode($updates),loggerTypes::ERROR); |
|
| 29 | - BPT::exit(print_r($updates,true)); |
|
| 28 | + logger::write("There is some problem happened , telegram response : \n".json_encode($updates), loggerTypes::ERROR); |
|
| 29 | + BPT::exit(print_r($updates, true)); |
|
| 30 | 30 | } |
| 31 | 31 | } |
| 32 | 32 | } |
| 33 | 33 | } |
| 34 | 34 | |
| 35 | - private static function loadData(): bool|int|string { |
|
| 35 | + private static function loadData(): bool | int | string { |
|
| 36 | 36 | if (lock::exist('getUpdate')) { |
| 37 | 37 | $last_update_id = lock::read('getUpdate'); |
| 38 | 38 | } |
@@ -40,7 +40,7 @@ discard block |
||
| 40 | 40 | self::deleteOldLocks(); |
| 41 | 41 | telegram::deleteWebhook(); |
| 42 | 42 | $last_update_id = 0; |
| 43 | - lock::save('getUpdate',0); |
|
| 43 | + lock::save('getUpdate', 0); |
|
| 44 | 44 | } |
| 45 | 45 | return $last_update_id; |
| 46 | 46 | } |
@@ -175,8 +175,9 @@ |
||
| 175 | 175 | if (telegram::$status) { |
| 176 | 176 | $check = $check->status; |
| 177 | 177 | $result[$id] = $check !== chatMemberStatus::LEFT && $check !== chatMemberStatus::KICKED; |
| 178 | + } else { |
|
| 179 | + $result[$id] = null; |
|
| 178 | 180 | } |
| 179 | - else $result[$id] = null; |
|
| 180 | 181 | } |
| 181 | 182 | return $result; |
| 182 | 183 | } |
@@ -20,7 +20,7 @@ discard block |
||
| 20 | 20 | * |
| 21 | 21 | * @return bool |
| 22 | 22 | */ |
| 23 | - public static function isUsername (string $username): bool { |
|
| 23 | + public static function isUsername(string $username): bool { |
|
| 24 | 24 | $length = strlen($username); |
| 25 | 25 | return !str_contains($username, '__') && $length >= 5 && $length <= 33 && preg_match('/^@?([a-zA-Z])(\w{4,31})$/', $username); |
| 26 | 26 | } |
@@ -37,7 +37,7 @@ discard block |
||
| 37 | 37 | * |
| 38 | 38 | * @return bool |
| 39 | 39 | */ |
| 40 | - public static function ipInRange (string $ip, string $range): bool { |
|
| 40 | + public static function ipInRange(string $ip, string $range): bool { |
|
| 41 | 41 | if (!str_contains($range, '/')) { |
| 42 | 42 | $range .= '/32'; |
| 43 | 43 | } |
@@ -57,7 +57,7 @@ discard block |
||
| 57 | 57 | * |
| 58 | 58 | * @return bool |
| 59 | 59 | */ |
| 60 | - public static function isTelegram (string $ip): bool { |
|
| 60 | + public static function isTelegram(string $ip): bool { |
|
| 61 | 61 | return tools::ipInRange($ip, '149.154.160.0/20') || tools::ipInRange($ip, '91.108.4.0/22'); |
| 62 | 62 | } |
| 63 | 63 | |
@@ -72,10 +72,10 @@ discard block |
||
| 72 | 72 | * |
| 73 | 73 | * @return bool |
| 74 | 74 | */ |
| 75 | - public static function isCloudFlare (string $ip): bool { |
|
| 75 | + public static function isCloudFlare(string $ip): bool { |
|
| 76 | 76 | $cf_ips = ['173.245.48.0/20', '103.21.244.0/22', '103.22.200.0/22', '103.31.4.0/22', '141.101.64.0/18', '108.162.192.0/18', '190.93.240.0/20', '188.114.96.0/20', '197.234.240.0/22', '198.41.128.0/17', '162.158.0.0/15', '104.16.0.0/12', '104.24.0.0/14', '172.64.0.0/13', '131.0.72.0/22']; |
| 77 | 77 | foreach ($cf_ips as $cf_ip) { |
| 78 | - if (self::ipInRange($ip,$cf_ip)) { |
|
| 78 | + if (self::ipInRange($ip, $cf_ip)) { |
|
| 79 | 79 | return true; |
| 80 | 80 | } |
| 81 | 81 | } |
@@ -93,10 +93,10 @@ discard block |
||
| 93 | 93 | * |
| 94 | 94 | * @return bool |
| 95 | 95 | */ |
| 96 | - public static function isArvanCloud (string $ip): bool { |
|
| 96 | + public static function isArvanCloud(string $ip): bool { |
|
| 97 | 97 | $ar_ips = ['185.143.232.0/22', '92.114.16.80/28', '2.146.0.0/28', '46.224.2.32/29', '89.187.178.96/29', '195.181.173.128/29', '89.187.169.88/29', '188.229.116.16/29', '83.123.255.56/31', '164.138.128.28/31', '94.182.182.28/30', '185.17.115.176/30', '5.213.255.36/31', '138.128.139.144/29', '5.200.14.8/29', '188.122.68.224/29', '188.122.83.176/29', '213.179.217.16/29', '185.179.201.192/29', '43.239.139.192/29', '213.179.197.16/29', '213.179.201.192/29', '109.200.214.248/29', '138.128.141.16/29', '188.122.78.136/29', '213.179.211.32/29', '103.194.164.24/29', '185.50.105.136/29', '213.179.213.16/29', '162.244.52.120/29', '188.122.80.240/29', '109.200.195.64/29', '109.200.199.224/29', '185.228.238.0/28', '94.182.153.24/29', '94.101.182.0/27', '37.152.184.208/28', '78.39.156.192/28', '158.255.77.238/31', '81.12.28.16/29', '176.65.192.202/31', '2.144.3.128/28', '89.45.48.64/28', '37.32.16.0/27', '37.32.17.0/27', '37.32.18.0/27']; |
| 98 | 98 | foreach ($ar_ips as $ar_ip) { |
| 99 | - if (self::ipInRange($ip,$ar_ip)) { |
|
| 99 | + if (self::ipInRange($ip, $ar_ip)) { |
|
| 100 | 100 | return true; |
| 101 | 101 | } |
| 102 | 102 | } |
@@ -116,9 +116,9 @@ discard block |
||
| 116 | 116 | * |
| 117 | 117 | * @return bool|user return array when verify is active and token is true array of telegram getMe result |
| 118 | 118 | */ |
| 119 | - public static function isToken (string $token, bool $verify = false): bool|user { |
|
| 119 | + public static function isToken(string $token, bool $verify = false): bool | user { |
|
| 120 | 120 | if (preg_match('/^(\d{8,10}):[\w\-]{35}$/', $token)) { |
| 121 | - if ($verify){ |
|
| 121 | + if ($verify) { |
|
| 122 | 122 | $res = telegram::me($token); |
| 123 | 123 | if (telegram::$status) { |
| 124 | 124 | return $res; |
@@ -150,14 +150,14 @@ discard block |
||
| 150 | 150 | * |
| 151 | 151 | * @return bool |
| 152 | 152 | */ |
| 153 | - public static function isJoined (array|string|int $ids , int|null $user_id = null): bool { |
|
| 153 | + public static function isJoined(array | string | int $ids, int | null $user_id = null): bool { |
|
| 154 | 154 | if (!is_array($ids)) { |
| 155 | 155 | $ids = [$ids]; |
| 156 | 156 | } |
| 157 | 157 | $user_id = $user_id ?? request::catchFields('user_id'); |
| 158 | 158 | |
| 159 | 159 | foreach ($ids as $id) { |
| 160 | - $check = telegram::getChatMember($id,$user_id); |
|
| 160 | + $check = telegram::getChatMember($id, $user_id); |
|
| 161 | 161 | if (telegram::$status) { |
| 162 | 162 | $check = $check->status; |
| 163 | 163 | if ($check === chatMemberStatus::LEFT || $check === chatMemberStatus::KICKED) { |
@@ -184,7 +184,7 @@ discard block |
||
| 184 | 184 | * |
| 185 | 185 | * @return array keys will be id and values will be bool(null for not founded ids) |
| 186 | 186 | */ |
| 187 | - public static function joinChecker (array|string|int $ids , int|null $user_id = null): array { |
|
| 187 | + public static function joinChecker(array | string | int $ids, int | null $user_id = null): array { |
|
| 188 | 188 | if (!is_array($ids)) { |
| 189 | 189 | $ids = [$ids]; |
| 190 | 190 | } |
@@ -192,7 +192,7 @@ discard block |
||
| 192 | 192 | |
| 193 | 193 | $result = []; |
| 194 | 194 | foreach ($ids as $id) { |
| 195 | - $check = telegram::getChatMember($id,$user_id); |
|
| 195 | + $check = telegram::getChatMember($id, $user_id); |
|
| 196 | 196 | if (telegram::$status) { |
| 197 | 197 | $check = $check->status; |
| 198 | 198 | $result[$id] = $check !== chatMemberStatus::LEFT && $check !== chatMemberStatus::KICKED; |
@@ -212,6 +212,6 @@ discard block |
||
| 212 | 212 | * @return bool |
| 213 | 213 | */ |
| 214 | 214 | public static function isShorted(string $text): bool{ |
| 215 | - return preg_match('/^[a-zA-Z0-9]+$/',$text); |
|
| 215 | + return preg_match('/^[a-zA-Z0-9]+$/', $text); |
|
| 216 | 216 | } |
| 217 | 217 | } |
| 218 | 218 | \ No newline at end of file |
@@ -105,8 +105,9 @@ |
||
| 105 | 105 | foreach ($string as $k => &$v) { |
| 106 | 106 | if ($diff->$v) { |
| 107 | 107 | $v = $diff->$v; |
| 108 | + } else { |
|
| 109 | + unset($string[$k]); |
|
| 108 | 110 | } |
| 109 | - else unset($string[$k]); |
|
| 110 | 111 | } |
| 111 | 112 | $string['status'] = $base_time < $target_time ? 'later' : 'ago'; |
| 112 | 113 | |
@@ -21,10 +21,10 @@ discard block |
||
| 21 | 21 | * |
| 22 | 22 | * @return string |
| 23 | 23 | */ |
| 24 | - public static function byteFormat (int $byte, int $precision = 2): string { |
|
| 24 | + public static function byteFormat(int $byte, int $precision = 2): string { |
|
| 25 | 25 | $rate_counter = 0; |
| 26 | 26 | |
| 27 | - while ($byte > 1024){ |
|
| 27 | + while ($byte > 1024) { |
|
| 28 | 28 | $byte /= 1024; |
| 29 | 29 | $rate_counter++; |
| 30 | 30 | } |
@@ -33,7 +33,7 @@ discard block |
||
| 33 | 33 | $byte = round($byte, $precision); |
| 34 | 34 | } |
| 35 | 35 | |
| 36 | - return $byte . ' ' . ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'][$rate_counter]; |
|
| 36 | + return $byte.' '.['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'][$rate_counter]; |
|
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | /** |
@@ -50,10 +50,10 @@ discard block |
||
| 50 | 50 | * |
| 51 | 51 | * @return string|false return false when mode is incorrect |
| 52 | 52 | */ |
| 53 | - public static function modeEscape (string $text, string $mode = parseMode::HTML): string|false { |
|
| 53 | + public static function modeEscape(string $text, string $mode = parseMode::HTML): string | false { |
|
| 54 | 54 | return match ($mode) { |
| 55 | - parseMode::HTML => str_replace(['&', '<', '>',], ["&", "<", ">",], $text), |
|
| 56 | - parseMode::MARKDOWN => str_replace(['\\', '_', '*', '`', '['], ['\\\\', '\_', '\*', '\`', '\[',], $text), |
|
| 55 | + parseMode::HTML => str_replace(['&', '<', '>', ], ["&", "<", ">", ], $text), |
|
| 56 | + parseMode::MARKDOWN => str_replace(['\\', '_', '*', '`', '['], ['\\\\', '\_', '\*', '\`', '\[', ], $text), |
|
| 57 | 57 | parseMode::MARKDOWNV2 => str_replace( |
| 58 | 58 | ['_', '*', '[', ']', '(', ')', '~', '`', '>', '#', '+', '-', '=', '|', '{', '}', '.', '!', '\\'], |
| 59 | 59 | ['\_', '\*', '\[', '\]', '\(', '\)', '\~', '\`', '\>', '\#', '\+', '\-', '\=', '\|', '\{', '\}', '\.', '\!', '\\\\'], |
@@ -92,12 +92,12 @@ discard block |
||
| 92 | 92 | * @return array{status: string,year: string,month: string,day: string,hour: string,minute: string,second: string} |
| 93 | 93 | * @throws Exception |
| 94 | 94 | */ |
| 95 | - public static function timeDiff (int|string $target_time, int|string|null $base_time = null): array { |
|
| 95 | + public static function timeDiff(int | string $target_time, int | string | null $base_time = null): array { |
|
| 96 | 96 | if (!isset($base_time)) { |
| 97 | 97 | $base_time = '@'.time(); |
| 98 | 98 | } |
| 99 | 99 | $base_time = new DateTime($base_time); |
| 100 | - $target_time = new DateTime(is_numeric($target_time) ? '@' . $target_time : $target_time . ' +00:00'); |
|
| 100 | + $target_time = new DateTime(is_numeric($target_time) ? '@'.$target_time : $target_time.' +00:00'); |
|
| 101 | 101 | |
| 102 | 102 | $diff = $base_time->diff($target_time); |
| 103 | 103 | |
@@ -124,12 +124,12 @@ discard block |
||
| 124 | 124 | * |
| 125 | 125 | * @return string[]|string |
| 126 | 126 | */ |
| 127 | - public static function realEscapeString(string|array $input): string|array { |
|
| 128 | - if(is_array($input)) { |
|
| 127 | + public static function realEscapeString(string | array $input): string | array { |
|
| 128 | + if (is_array($input)) { |
|
| 129 | 129 | return array_map(__METHOD__, $input); |
| 130 | 130 | } |
| 131 | 131 | |
| 132 | - if(!empty($input) && is_string($input)) { |
|
| 132 | + if (!empty($input) && is_string($input)) { |
|
| 133 | 133 | return str_replace(['\\', "\0", "\n", "\r", "'", '"', "\x1a"], ['\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'], $input); |
| 134 | 134 | } |
| 135 | 135 | |
@@ -147,7 +147,7 @@ discard block |
||
| 147 | 147 | * |
| 148 | 148 | * @return string[]|string |
| 149 | 149 | */ |
| 150 | - public static function strReplaceFirst(string|array $search, string|array $replace, string|array $subject): string|array { |
|
| 150 | + public static function strReplaceFirst(string | array $search, string | array $replace, string | array $subject): string | array { |
|
| 151 | 151 | $pos = strpos($subject, $search); |
| 152 | 152 | if ($pos !== false) { |
| 153 | 153 | return substr_replace($subject, $replace, $pos, strlen($search)); |
@@ -7,4 +7,4 @@ |
||
| 7 | 7 | /** |
| 8 | 8 | * Exceptions created by BPT and subclasses |
| 9 | 9 | */ |
| 10 | -class bptException extends Exception{} |
|
| 11 | 10 | \ No newline at end of file |
| 11 | +class bptException extends Exception {} |
|
| 12 | 12 | \ No newline at end of file |
@@ -18,7 +18,7 @@ |
||
| 18 | 18 | public string $description; |
| 19 | 19 | |
| 20 | 20 | |
| 21 | - public function __construct(stdClass|null $object = null) { |
|
| 21 | + public function __construct(stdClass | null $object = null) { |
|
| 22 | 22 | if ($object != null) { |
| 23 | 23 | parent::__construct($object, self::subs); |
| 24 | 24 | } |
@@ -11,7 +11,7 @@ |
||
| 11 | 11 | /** Keep all of properties which has sub properties */ |
| 12 | 12 | private const subs = []; |
| 13 | 13 | |
| 14 | - public function __construct(stdClass|null $object = null) { |
|
| 14 | + public function __construct(stdClass | null $object = null) { |
|
| 15 | 15 | if ($object != null) { |
| 16 | 16 | parent::__construct($object, self::subs); |
| 17 | 17 | } |
@@ -28,7 +28,7 @@ |
||
| 28 | 28 | public int $file_date; |
| 29 | 29 | |
| 30 | 30 | |
| 31 | - public function __construct(stdClass|null $object = null) { |
|
| 31 | + public function __construct(stdClass | null $object = null) { |
|
| 32 | 32 | if ($object != null) { |
| 33 | 33 | parent::__construct($object, self::subs); |
| 34 | 34 | } |
@@ -24,7 +24,7 @@ |
||
| 24 | 24 | public encryptedCredentials $credentials; |
| 25 | 25 | |
| 26 | 26 | |
| 27 | - public function __construct(stdClass|null $object = null) { |
|
| 27 | + public function __construct(stdClass | null $object = null) { |
|
| 28 | 28 | if ($object != null) { |
| 29 | 29 | parent::__construct($object, self::subs); |
| 30 | 30 | } |