Пишем свой class обработки webhook

Создаем свой PHP класс обработки вебхуков от телеграм бот апи.

Пишем свой class обработки webhook

Теперь, когда у нас есть свой класс для работы с API Telegram, нам нужно создать класс для обработки вебхука — по сути, класс для работы нашего бота.

Делаем так: при создании класс запишет id пользователя, создаст объект бота для работы с API и выполнит инициализацию, то есть обработает полученный вебхук. В коде будет подробное описание.

<?php

// Константа с нашим токеном
const BOT_TOKEN = '1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';

// Создание класса
class BotPhp {
    // Свойство, в которое запишем id пользователя
    private $user_id;

    // Свойство класса, в которое мы установим объект для работы с API
    private $bot;

    public function __construct() {
        // Создаем объект бота для работы с API
        $this->bot = new Bot(BOT_TOKEN);

        // Получаем id пользователя через функцию getChatId
        $this->user_id = $this->bot->getChatId();

        // Запускаем обработку webhook
        $this->init();
    }

    public function init() {
        // Определяем тип получаемых данных
        $type = $this->bot->getType();

        if ($type == 'message') { // Простой текст
            $this->type_message();
        } else {
            $this->bot->sendApiQuery('sendMessage', [
                'text' => 'Произошла ошибка, такие данные мы пока не умеем обрабатывать',
                'chat_id' => $this->user_id,
            ]);

            // Прерываем работу скрипта
            exit;
        }
    }

    // Получили текстовое сообщение и обработаем его
    public function type_message() {
        // Получаем текст сообщения
        $message = $this->bot->getText();

        // Обрабатываем сообщение...
    }
}

В следующем уроке мы соберем из этих двух классов нашего простого бота, но только на ООП.

Комментарии