Пишем свой 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();
        //обрабатываем сообщение...
    }
}

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

Опубликовано: 2 декабря 2023
Автор: Семен

Следующий урок:
Пишем Telegram бота на ООП PHP