Как открыть обьект message?
Здравствуйте, сейчас сделал приветствие пользователей по уроку, в начале статьи было показаны данные JSON файла, как я могу открыть точно такой же файл? пытался через update, но не получилось
private function setFileLog($data) { $fh = fopen('log.txt', 'a') or die('can't open file'); ((is_array($data)) || (is_object($data))) ? fwrite($fh, print_r($data, TRUE)."n") : fwrite($fh, $data . "n"); fclose($fh); }
/** Класс Бота * Class HelloBot */ class HelloBot { // токен вашего бота private $token = ""; // Приветствие пользователя private $helloText = "Привет, {%username%}. Ты попал(-а) в чат по кибер спорту! <a href=''>?Команды чата</a> ?Статистика-анализ кибер игр | ?Пенальти FIFA | ?Cyber Poker | ?NHL BULLITE | ?Баккара | "; /** Стартуем бота * @return bool */ public function init() { // получаем данные от АПИ и преобразуем их в ассоциативный массив $rawData = json_decode(file_get_contents('php://input'), true); // направляем данные из бота в метод // для определения дальнейшего выбора действий $this->router($rawData); // в любом случае вернем true для бот апи return true; } /** Роутер - Определяем что делать с данными от АПИ * @param $data * @return bool */ private function router($data) { if (array_key_exists("new_chat_participant", $data['message'])) { $name = trim($data['message']['new_chat_participant']['first_name'] . ' ' . $data['message']['new_chat_participant']['last_name']); $messageHello = $this->sendHello($data['message']['chat']['id'], $name); $this->delOld(); $this->recData($data['message']['chat']['id'], $messageHello['result']['message_id']); } // удаление служебных сообщений в чате Телеграм if(array_key_exists("new_chat_participant", $data['message']) || array_key_exists("left_chat_participant", $data['message'])) { $this->botApiQuery("deleteMessage", [ 'chat_id' => $data['message']['chat']['id'], 'message_id' => $data['message']['message_id'] ]); } return true; } private function setFileLog($data) { $fh = fopen('log.txt', 'a') or die('can/t open file'); ((is_array($data)) || (is_object($data))) ? fwrite($fh, print_r($data, TRUE)."n") : fwrite($fh, $data . "n"); fclose($fh); } private function sendHello($chat_id, $name) { return $this->botApiQuery("sendMessage", [ 'chat_id' => $chat_id, 'text' => str_replace("{%username%}", $name, $this->helloText), 'disable_web_page_preview' => true, 'parse_mode' => 'HTML' ]); } private function recData($chat_id, $message_id) { $handler = fopen("pid.txt", "w"); fwrite($handler, $chat_id . "||" .$message_id); fclose($handler); } private function delOld() { if(file_exists("pid.txt")) { $data = file_get_contents("pid.txt"); $data_ = explode("||", $data); $this->botApiQuery("deleteMessage", [ 'chat_id' => $data_[0], 'message_id' => $data_[1] ]); } } /** Запрос к BotApi * @param $method * @param array $fields * @return mixed */ private function botApiQuery($method, $fields = array()) { $ch = curl_init('https://api.telegram.org/bot' . $this->token . '/' . $method); curl_setopt_array($ch, array( CURLOPT_POST => count($fields), CURLOPT_POSTFIELDS => http_build_query($fields), CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_TIMEOUT => 10 )); $r = json_decode(curl_exec($ch), true); curl_close($ch); return $r; } }
... private function router($data) { // вызываем метод логирования и передаем в него объект $data $this->setFileLog($data); if (array_key_exists("new_chat_participant", $data['message'])) { $name = trim($data['message']['new_chat_participant']['first_name'] . ' ' . $data['message']['new_chat_participant']['last_name']); $messageHello = $this->sendHello($data['message']['chat']['id'], $name); $this->delOld(); $this->recData($data['message']['chat']['id'], $messageHello['result']['message_id']); } // удаление служебных сообщений в чате Телеграм if(array_key_exists("new_chat_participant", $data['message']) || array_key_exists("left_chat_participant", $data['message'])) { $this->botApiQuery("deleteMessage", [ 'chat_id' => $data['message']['chat']['id'], 'message_id' => $data['message']['message_id'] ]); } return true; } ...