dicr / yii2-telegram
Telegram API for Yii2
Installs: 202
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Forks: 2
Type:yii2-extension
pkg:composer/dicr/yii2-telegram
Requires
- php: ~8.0
- ext-json: *
- dicr/yii2-helper: ~6.0
- dicr/yii2-http: ~4.0
- dicr/yii2-json: ~3.0
- dicr/yii2-validate: ~3.0
- yiisoft/yii2: ~2.0
Requires (Dev)
- phpunit/phpunit: ~9.5
- roave/security-advisories: dev-latest
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
            }
        ]
    ]
];