1. Ставишь composer, далее переходишь в папку с проектом через командную строку (cd c://bot - пример), выполняешь код:
"composer require guzzlehttp/guzzle".
2. Создаешь init.php, в этой папке, с содержимым:
<?php
// Инклуды)
use GuzzleHttp\Client;
include('vendor/autoload.php');
include('telegramBot.php');
//Получаем данные
$telegramApi = new TelegramBot();
// Вычный цикл, обработчик
while (true) {
sleep(2);
$updates = $telegramApi->getUpdates(); // Получаем обновление, методом getUpdates
foreach ($updates as $update){
if (isset($update->message->text)) { // Проверяем Update, на наличие текста
$text = $update->message->text; // Переменная с текстом сообщения
$chat_id = $update->message->chat->id; // Чат ID пользователя
$first_name = $update->message->chat->first_name; //Имя пользователя
$username = $update->message->chat->username; //Юзернейм пользователя
print_r($chat_id);
print_r($username);
if ($text == '/start'){ // Если пользователь подключился в первый раз, ему поступит приветствие
$telegramApi->sendMessage($chat_id, 'Привет'. ' ' . $first_name . '!'); //Приветствует Пользователя
} else {
$telegramApi->sendMessage($chat_id, $first_name . '! Как дела?' ); // Спрашивает как дела
}
}
}
}
3. Создаешь telegramBot.php, в этой папке, вот содержимое:
<?php
// Подключение библиотеки
use GuzzleHttp\Client;
use Telegram\Api;
class TelegramBot
{
protected $token = "ТОКЕН_БОТА";
protected $updateId;
// Функция собирает URL
protected function query($method, $params = [])
{
$url = "
https://api.telegram.org/bot";
$url .= $this->token;
$url .= "/" . $method;
if (!empty($params))
{
$url .= "?" . http_build_query($params);
}
$client = new Client([
'base_uri' => $url
]);
$result = $client->request('GET');
return json_decode($result->getBody());
}
// Получаем обновления
public function getUpdates()
{
$response = $this->query('getUpdates', [
'offset' => $this->updateId + 1
]);
if (!empty($response->result)) {
$this->updateId = $response->result[count($response->result) -1]->update_id;
}
return $response->result;
}
// Отправляем сообщения
public function sendMessage($chat_id, $text)
{
$response = $this->query('sendMessage',[
'chat_id' => $chat_id,
'text' => $text
]);
return $response;
}
}
4. Что бы запустить его, там же в командной строке запускаешь файл:
php init.php
Там же в консоли увидишь Id пользователя и его юзернейм)
Вот такой не много туповаты пример, но работает.