dicr/yii2-telegram

Telegram API for Yii2

Installs: 180

Dependents: 0

Suggesters: 0

Security: 0

Stars: 8

Forks: 2

Type:yii2-extension

4.0.1 2022-01-23 13:49 UTC

This package is auto-updated.

Last update: 2024-10-23 16:18:38 UTC


README

Настройка компонента

$config = [
    'components' => [
        'telegram' => [
            'class' => dicr\telegram\TelegramModule::class,
            'botToken' => 'ваш токен'
        ]
    ]
];

Отправка запросов

use dicr\telegram\TelegramModule;
use dicr\telegram\request\SendMessage;

/** @var TelegramModule $module получаем модуль */
$module = Yii::$app->get('telegram');

/** @var SendMessage $request формируем запрос */
$request = $module->createRequest([
    'class' => SendMessage::class,
    'chatId' => 'XXXXXXXXXXXXX',
    'text' => 'Проверка сообщения'
]);

// отправка сообщения
$response = $request->send();

WebHook

Установить/удалить webhook можно из командной строки.

# установить webHook
/usr/bin/php yii.php telegram/command/webhook-set

# проверить webhook
/usr/bin/php yii.php telegram/command/webhook-info

# удалить webhook
/usr/bin/php yii.php telegram/command/webhook-delete

Для обработки обновлений через webhook нужно настроить функцию-обработчик в конфиге модуля:

use dicr\telegram\entity\Update;
use dicr\telegram\TelegramModule;

$config = [
    'components' => [
        'telegram' => [
            'class' => dicr\telegram\TelegramModule::class,
            'botToken' => 'ваш токен',
            'handler' => static function(Update $update, TelegramModule $module) {
                // обработка обновлений от webhook
            }
        ]
    ]
];