ahoulgrave/silex-tg-service-provider

此包最新版本(dev-master)没有可用的许可信息。

Telegram SDK 的 Silex 服务提供者

dev-master 2016-11-18 23:45 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:20:43 UTC


README

Build status

概述

一个用于集成 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