bootdesk/chat-sdk-adapter-telegram
Composer 安装命令:
composer require bootdesk/chat-sdk-adapter-telegram
包简介
Telegram adapter for bootdesk/chat-sdk-core
README 文档
README
Telegram adapter for the laravel-bootdesk multi-platform messaging framework.
Install
composer require bootdesk/chat-sdk-adapter-telegram
Requires a PSR-18 HTTP client (guzzlehttp/guzzle, symfony/http-client, etc.) and a PSR-17 factory (nyholm/psr7 bundled).
Configuration
| Variable | Description | Example |
|---|---|---|
bot_token |
Telegram Bot Token (from @BotFather) | 123456:ABC-DEF... |
http_client |
PSR-18 HTTP client instance | new GuzzleHttp\Client |
secret_token |
Webhook secret token | my-secret... |
use BootDesk\ChatSDK\Telegram\TelegramAdapter; $adapter = new TelegramAdapter( botToken: env('TELEGRAM_BOT_TOKEN'), httpClient: new \GuzzleHttp\Client, secretToken: env('TELEGRAM_SECRET_TOKEN'), );
Laravel
The ChatServiceProvider auto-binds Psr\Http\Client\ClientInterface to GuzzleHttp\Client. Add to config/chat.php:
'telegram' => [ 'bot_token' => env('TELEGRAM_BOT_TOKEN'), 'secret_token' => env('TELEGRAM_SECRET_TOKEN'), ],
Quick Example
// Post a message to a chat $adapter->postMessage('telegram:123456789', 'Hello from laravel-bootdesk!'); // Post in a topic forum $adapter->postMessage('telegram:-100123456789:42', 'Topic message');
Thread ID Format
| Format | Description |
|---|---|
telegram:{chatId} |
Direct message or group chat |
telegram:{chatId}:{messageThreadId} |
Topic within a forum |
Webhook
Telegram sends updates via webhook. Verify requests using the secret_token parameter set during webhook registration.
Custom Keyboards
Pass keyboard value objects via PostableMessage::$metadata['reply_markup']:
use BootDesk\ChatSDK\Core\PostableMessage; use BootDesk\ChatSDK\Telegram\Keyboard\KeyboardButton; use BootDesk\ChatSDK\Telegram\Keyboard\ReplyKeyboardMarkup; // Custom reply keyboard with location request $thread->post(new PostableMessage( content: 'Choose an option:', metadata: [ 'reply_markup' => new ReplyKeyboardMarkup( keyboard: [ [new KeyboardButton('Help')], [new KeyboardButton('Share Location', requestLocation: true)], [new KeyboardButton('Share Contact', requestContact: true)], ], resizeKeyboard: true, oneTimeKeyboard: true, ), ], ));
Types
| Value object | Telegram API equivalent |
|---|---|
ReplyKeyboardMarkup |
Custom reply keyboard |
InlineKeyboardMarkup |
Inline keyboard (standalone) |
ForceReply |
Force reply |
ReplyKeyboardRemove |
Remove custom keyboard |
KeyboardButton |
text / request_location / request_contact / request_poll / web_app |
InlineKeyboardButton |
text / callback_data / url / web_app |
WebAppInfo |
url |
Metadata reply_markup takes precedence over the card-generated inline keyboard. Raw arrays also accepted for power users.
Reply-to-Message
$thread->post(new PostableMessage( content: 'Reply to this', replyToMessageId: '42', ));
Feature Matrix
| Feature | Supported |
|---|---|
| Post messages | ✓ |
| Edit messages | ✓ |
| Delete messages | ✓ |
| Reactions | ✓ |
| Reply keyboards | ✓ |
| Inline keyboards | ✓ |
| Force reply | ✓ |
| Typing indicator | ✓ |
| Fetch messages | ✓ |
| Fetch thread info | ✓ |
| Fetch channel info | ✓ |
| Get user | ✓ |
| Open DM | ✓ |
| Stream | ✓ |
| Reply-to-message | ✓ |
| Stickers (send/receive) | ✓ |
| Animations (send/receive) | ✓ |
| Video notes (send/receive) | ✓ |
Notes
Supports inline keyboards, custom reply keyboards, force reply, bot commands, group chats, and topic forums.
Documentationn
Full API documentation: https://bootdesk.github.io/chat-sdk
License
MIT
bootdesk/chat-sdk-adapter-telegram 适用场景与选型建议
bootdesk/chat-sdk-adapter-telegram 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 189 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 05 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 bootdesk/chat-sdk-adapter-telegram 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 bootdesk/chat-sdk-adapter-telegram 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 189
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 25
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-18