Skip to content

BushlanovDev/max-bot-api-client-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Max Messenger Bot API Client library for PHP

Actions status Coverage Packagist Version PHP version Laravel Software License

Caution

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

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

Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ 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', // HTTPS 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.

About

πŸ€–πŸ’¬ Max Bot API Client library for PHP

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages