PHP code example of bushlanov-dev / max-bot-api-client-php

1. Go to this page and download the library: Download bushlanov-dev/max-bot-api-client-php library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

bushlanov-dev / max-bot-api-client-php example snippets


'providers' => [
    // ...
    BushlanovDev\MaxMessengerBot\Laravel\MaxBotServiceProvider::class,
],
// ...
'aliases' => [
    // ...
    'MaxBot' => BushlanovDev\MaxMessengerBot\Laravel\MaxBotFacade::class,
],

$guzzle = new \GuzzleHttp\Client([
    'timeout' => 10,
    'connect_timeout' => 5,
    'read_timeout' => 10,
    'headers' => ['User-Agent' => 'max-bot-api-client-php'],
    'verify' => false, // Отключить проверку либо путь до сертификата '/path/to/cert.pem'
]);

$httpFactory = new \GuzzleHttp\Psr7\HttpFactory();

$client = new \BushlanovDev\MaxMessengerBot\Client(
    accessToken: 'YOUR_BOT_API_TOKEN',
    httpClient: $guzzle,
    requestFactory: $httpFactory,
    streamFactory: $httpFactory,
    baseUrl: BushlanovDev\MaxMessengerBot\Api::API_BASE_URL,
);

$api = new BushlanovDev\MaxMessengerBot\Api(
    client: $client,
    modelFactory: new BushlanovDev\MaxMessengerBot\ModelFactory(),
);



use BushlanovDev\MaxMessengerBot\Api;

$api = new Api('YOUR_BOT_API_TOKEN');

// Загрузка файла
$fileAttachmentRequest = $api->uploadAttachment(
    type: UploadType::File,
    filePath: __DIR__ . '/test.pdf',
);

$api->sendMessage(
    userId: 123,     // ID пользователя получателя сообщения
    chatId: 321,     // Или ID чата, в который нужно отправить сообщение
    text: 'Привет!', // Текст сообщения, вы можете использовать HTML или Markdown
    attachments: [
        $fileAttachmentRequest,
        new InlineKeyboardAttachmentRequest([
            [new CallbackButton('Нажми меня!', 'payload_button1')],
            [new LinkButton('Нажми меня!', 'https://example.com')],
        ]),
    ],
    format: MessageFormat::Markdown, // Формат сообщения (Markdown или HTML)
);

MaxBot::sendUserMessage(123456, 'Привет из Laravel!');

$dispatcher = $api->getUpdateDispatcher();

$dispatcher->onMessageCreated(function (MessageCreatedUpdate $update, Api $api) {
    $api->sendMessage(
        userId: $update->message->recipient->userId,
        text: 'Привет!',
    );
});
// или
$dispatcher->addHandler(UpdateType::BotStarted, function (BotStartedUpdate $update, Api $api) {
    $api->sendMessage(
        chatId: $update->chatId,
        text: 'Я запущен!',
    );
});

$api->subscribe(
    url: 'https://example.com/webhook', // HTTPS URL на который будут приходить хуки
    secret: 'super_secret',             // Секретная фраза для проверки хуков
    updateTypes: [
        // Типы хуков которые вы хотите получать (либо ничего не указывать, чтобы получать все)
        UpdateType::BotStarted,
        UpdateType::MessageCreated,
    ],
);

$handler = $api->createWebhookHandler('super_secret'); // Обновления через вебхук
// ИЛИ
$handler = $api->createLongPollingHandler();           // Обновления через лонгполлинг

$handler->handle();
bash
composer