Знаю что есть дофига готовых SDK для ботов Telegram, также знаю что ООП дается мне тяжко, и захотелось написать свой класс для работы с Telegram Bot API, очень хотел бы, чтобы знающие подсказали, в верном векторе я двигаюсь, нужно ли создавать свойства такие как token, api, или это абсурд и надо по другому как то порешать. Прошу подкорректировать по возможности. Код то сам по себе работает, но хочу научиться писать правильно. Спасибо
<?php
class Bot {
private $token = ""; // тут ставлю токен сразу
private $api; // в конструкторе выставлю базовый адрес для вызова методов
public $chatId; // ID чата
public $message; // полученное сообщение от юзера
public $output;
public function __construct() { // сразу заинициализирую в конструкторе адрес апи, чат айди, сообщение..
$this->api = 'https://api.telegram.org/bot' . $this->token;
$this->output = json_decode(file_get_contents('php://input'), TRUE);
$this->chatId = $this->output['message']['chat']['id'];
$this->message = $this->output['message']['text'];
}
public function sendMessage($msg) { // метод отправки сообщений
file_get_contents($this->api . '/sendMessage?chat_id=' . $this->chatId . '&text=' . $msg);
}
public function sendContact($phone, $name) { // метод отправки контакта
file_get_contents($this->api . '/sendContact?chat_id=' . $this->chatId . '&phone_number=' . $phone . '&first_name=' . $name);
}
}
$bot = new Bot;
switch($bot->message) { // проверяем, какое сообщение получено
case 'hi':
$bot->sendMessage('halo');
break;
case 'contact':
$bot->sendContact('380662312031', 'Anna');
break;
default:
$bot->sendMessage($bot->message);
break;
}