dicr / yii2-telegram
Telegram API for Yii2
4.0.1
2022-01-23 13:49 UTC
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
}
]
]
];