Skip to content

BushlanovDev/max-bot-api-client-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Max Bot API Client library for PHP

Actions status Coverage Packagist Version PHP version Laravel Software License

Caution

На ΠΌΠΎΠΉ взгляд Max Messenger являСтся Π½ΠΈ Ρ‡Π΅ΠΌ ΠΈΠ½Ρ‹ΠΌ ΠΊΠ°ΠΊ ΠΌΠ°Π»Π²Π°Ρ€ΡŒΡŽ, созданной для слСТки Π·Π° Π³Ρ€Π°ΠΆΠ΄Π°Π½Π°ΠΌΠΈ Π Π€. ΠΠ°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… устройствах, с настоящим Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, ΠΈ для Π»ΠΈΡ‡Π½ΠΎΠΉ пСрСписки.

Быстрый старт

Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Max.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π°

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ с MasterBot, слСдуйтС инструкциям ΠΈ создайтС Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π°. ПослС создания Π±ΠΎΡ‚Π° MasterBot ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ Π²Π°ΠΌ Ρ‚ΠΎΠΊΠ΅Π½.

Установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

composer require bushlanov-dev/max-bot-api-client-php

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Laravel ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСрвис ΠΏΡ€ΠΎΠ²Π°ΠΈΜ†Π΄Π΅Ρ€ ΠΈ фасад Π² config/app.php:

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

ИспользованиС

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСния с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ

require __DIR__.'/vendor/autoload.php';

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)
);

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСния с использованиСм фасада Laravel

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', // URL Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ…ΡƒΠΊΠΈ
    secret: 'super_secret',             // БСкрСтная Ρ„Ρ€Π°Π·Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ…ΡƒΠΊΠΎΠ²
    updateTypes: [
        // Π’ΠΈΠΏΡ‹ Ρ…ΡƒΠΊΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ (Π»ΠΈΠ±ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ всС)
        UpdateType::BotStarted,
        UpdateType::MessageCreated,
    ],
);

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ

$handler = $api->createWebhookHandler('super_secret'); // ОбновлСния Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±Ρ…ΡƒΠΊ
// Π˜Π›Π˜
$handler = $api->createLongPollingHandler();           // ОбновлСния Ρ‡Π΅Ρ€Π΅Π· Π»ΠΎΠ½Π³ΠΏΠΎΠ»Π»ΠΈΠ½Π³

$handler->handle();

ℹ️ Π‘ ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ Ρ‚ΡƒΡ‚.

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Bots

Chats

Subscriptions

Upload

Messages

ЛицСнзия

Данная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT - подробности см. Π² Ρ„Π°ΠΉΠ»Π΅ LICENSE.