tds/telegram-bundle

irazasyed/telegram-bot-sdk 的 Symfony 服务包装器

dev-master / 1.0.x-dev 2016-05-09 12:38 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:31:02 UTC


README

TDSTelegramBundle 只是一个 Telegram Bot API PHP SDK 的服务包装器

警告 原始 SDK 的所有功能并不都得到支持(尽管主要功能是工作的)。有关更多信息,请参阅 TODOs 部分。

安装

步骤 1:使用 composer 下载 Bundle

使用 composer 需求此 Bundle

$ composer require tds/telegram-bundle "dev-master"

Composer 将将 Bundle 安装到您的项目的 vendor 目录中。

步骤 2:启用 Bundle

在 kernel 中启用 Bundle

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new TDS\TelegramBundle\TelegramBundle(),
        // ...
    );
}

步骤 3:配置您的应用的 config.yml

    tds_telegram:
        default: 'default'
        async_requests: false
        http_client_handler: ~
        bots:
            default:
                username: 'SampleBot'
                token: 'YOUR TOKEN HERE'

步骤 4:创建您的命令

  1. 创建一个命令类,如 SDK 文档中所示 SDK 文档
  2. 在您的 services.yml 中将此命令设置为 symfony 服务
    app.telegram_command.start_command:
        class: AppBundle\Telegram\Command\StartCommand
        tags:
          - { name: 'tds_telegram.command', bot: 'default' }

如您所见,'bot' 参数与主配置文件中 bots 部分定义的 bot 相同。它告诉 BotManager 应将该命令注入到何处,定义为普通 symfony 服务。

步骤 5:使用库

获取 BotsManager 服务的简单示例,从其中获取所需的 bot 并使用命令处理更新

    $manager = $this->getContainer()->get('tds_telegram.bot.bots_manager');
    $bot = $manager->bot('default');
    while (1) {
        $upd = $bot->commandsHandler();
    }

步骤 6:阅读文档

研究 SDK 文档

TODOs

本节是关于当前 Bundle 简单结构的提醒。请随时贡献!

  1. 单元测试和 CI
  2. http_client_handler 选项未经过测试
  3. command_groupsshared_commands 选项尚未实现
  4. 考虑延迟命令初始化
  5. 考虑内置 CLI 命令和控制台
  6. 更好的配置文档

许可

此 Bundle 在 MIT 许可下。请参阅 Bundle 中的完整许可证。

LICENSE