ahoulgrave / silex-tg-service-provider
此包最新版本(dev-master)没有可用的许可信息。
Telegram SDK 的 Silex 服务提供者
dev-master
2016-11-18 23:45 UTC
Requires
- irazasyed/telegram-bot-sdk: ^2.1
- silex/silex: ~2.0
Requires (Dev)
- phpunit/phpunit: 5.5.*
- symfony/browser-kit: ^3.1
This package is not auto-updated.
Last update: 2024-09-28 19:20:43 UTC
README
概述
一个用于集成 Telegram PHP SDK 的 Silex 服务提供者
需求
安装
composer require ahoulgrave/silex-tg-service-provider dev-master
使用
<?php use Telegram\Bot\Silex\Provider\TelegramServiceProvider; $app = new Silex\Application(); $app->register(new TelegramServiceProvider(), [ 'telegram.bot_api' => '<Your bot api token>', 'telegram.commands' => [ \My\Telegram\Command\AwesomeCommand::class, ] ]);
Webhook
如果你使用 webhook 来获取更新,你可以注册 Controller Provider 来为你处理请求。
$app->mount('/telegram-web-hook', new TelegramControllerProvider());
你的 webhook 应该是 https://youdomain.com/telegram-web-hook/
(注意尾随斜杠)
现在,当 Telegram 发送更新给你时,控制器将寻找正确的命令并处理它。
命令
你可以扩展 Telegram\Bot\Silex\ApplicationAwareCommand
类,让你的命令可以访问容器。
例如
<?php namespace My\Telegram\Command; use Telegram\Bot\Silex\ApplicationAwareCommand; class AwesomeCommand extends ApplicationAwareCommand { /** * @inheritdoc */ protected $name = 'hello'; /** * @inheritdoc */ public function handle($arguments) { $update = $this->getUpdate(); $app = $this->getApplication(); $app['monolog']->info($update->getMessage()->getText()); $this->replyWithMessage(['text' => 'Hi there!']); } }
请记住注册所有你的命令(见 使用)
更多信息
许可
(MIT 许可证)
版权 (C) 2016 by Agustin Houlgrave