Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if($_SERVER["REQUEST_METHOD"]=="POST"){
- $data = file_get_contents('php://input');
- if (!empty($data)){
- $comment = "";
- send_message($data);
- }
- else {
- $comment = "Нет данных для отправки!";
- }
- }
- else {
- $comment = "Метод передачи данных не является POST-запросом!";
- }
- if (!empty($comment)){
- add_to_log($comment);
- }
- add_to_log('-------------------------------------------------------------------');
- function send_message($m){
- add_to_log($m);
- $cfg = get_config($_SERVER['DOCUMENT_ROOT']."/config.cfg");
- $token = $cfg->token;
- $chats = $cfg->chats;
- $uri = 'https://api.telegram.org/bot'.$token.'/sendMessage';
- $pattern = '/([A-Z!]{2,})\s*[:]+\s*([A-Z0-1!]{1,})/';
- preg_match($pattern, $m, $matches);
- if(!empty($matches)){
- $exchange = $matches[1];
- $ticker = $matches[2];
- $ticker_name = ''.$exchange.':'.$ticker;
- $ticker_url = 'https://ru.tradingview.com/chart?symbol='.$ticker_name;
- $message =
- '#'.$ticker.':
- '.preg_replace($pattern,'',$m) .'
- '.'[Открыть график]('.$ticker_url.')';
- }
- else{
- $pattern = '/^([A-Z0-1!]{2,})/';
- preg_match($pattern, $m, $matches);
- if(!empty($matches)){
- $exchange = '';
- $ticker = $matches[1];
- $ticker_name = ''.$ticker;
- $ticker_url = 'https://ru.tradingview.com/chart?symbol='.$ticker_name;
- $message =
- '#'.$ticker.':
- '.preg_replace($pattern,'',$m) .'
- '.'[Открыть график]('.$ticker_url.')';
- } else{
- $message = $m;
- }
- }
- add_to_log($message);
- foreach ($chats as $chat_id) {
- $data = array(
- 'chat_id' => $chat_id,
- 'text' => $message,
- 'disable_web_page_preview' => True,
- 'parse_mode' => 'Markdown'
- );
- $ch = curl_init($uri); // URL
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Не возвращать ответ
- curl_setopt($ch, CURLOPT_PROXY, "proxy.mamsycorp.ru:80");
- curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
- curl_setopt($ch, CURLOPT_PROXYUSERPWD, "mamsy:socks-2019");
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- add_to_log("Отправляем данные: \n".$message." \nВ чат: ".$chat_id."\n");
- if(curl_exec($ch) === false)
- {
- $error_string = 'Ошибка curl: ' . curl_error($ch);
- }
- else
- {
- $error_string = 'Операция завершена без каких-либо ошибок';
- }
- add_to_log($error_string);
- curl_close($ch);
- }
- }
- function add_to_log($string){
- $date = date("Y-m-d");
- $now = date("Y-m-d H:i:s");
- $log_file_name = $_SERVER['DOCUMENT_ROOT']."/".$date.".log";
- $message = $now." ".$string."\r\n";
- file_put_contents($log_file_name, $message, FILE_APPEND);
- echo $message;
- }
- function get_config($file) {
- $data = file_get_contents($file);
- $result = json_decode($data);
- switch (json_last_error()) {
- case JSON_ERROR_NONE:
- add_to_log('Чтение настроек - Ошибок нет');
- break;
- case JSON_ERROR_DEPTH:
- add_to_log('Чтение настроек - Достигнута максимальная глубина стека');
- break;
- case JSON_ERROR_STATE_MISMATCH:
- add_to_log('Чтение настроек - Некорректные разряды или несоответствие режимов');
- break;
- case JSON_ERROR_CTRL_CHAR:
- add_to_log('Чтение настроек - Некорректный управляющий символ');
- break;
- case JSON_ERROR_SYNTAX:
- add_to_log('Чтение настроек - Синтаксическая ошибка, некорректный JSON');
- break;
- case JSON_ERROR_UTF8:
- add_to_log('Чтение настроек - Некорректные символы UTF-8, возможно неверно закодирован');
- break;
- default:
- add_to_log('Чтение настроек - Неизвестная ошибка');
- break;
- }
- return $result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement