shanginn / telegram-bot-api-framework
Telegram机器人API框架
2.6.1
2024-09-22 13:29 UTC
Requires
- php: ^8.3
- amphp/amp: ^3.0
- amphp/http-client: ^5.1
- phenogram/bindings: ^2
- psr-discovery/log-implementations: ^1.0
- psr/container: ^2.0
- psr/http-factory: ^1.0
- psr/log: ^3.0
Requires (Dev)
- monolog/monolog: ^3
- phpunit/phpunit: ^11
- symfony/var-dumper: ^7
- vlucas/phpdotenv: ^5
README
警告
项目处于积极开发中,不建议在生产环境中使用。
这是一个简单的PHP框架,用于创建任何复杂度的Telegram机器人。
主要动机是编写一个具有严格类型化的Telegram API工具。
所有API类型都位于相邻项目 bindings 中,并且可以不使用此框架而使用。如果您只想发送请求并接收类型化响应,它们将足够。
而在框架中,您将获得更好的生活质量 - 路由、中间件、处理程序。Event loop用于在long-polling模式下工作。
开发重点在于易用性和性能。由于底层使用amphp和fibers,因此可以编写异步处理程序。
安装
composer require phenogram/framework
使用
最简单的示例
// bot.php <?php require_once __DIR__ . '/vendor/autoload.php'; $token = ''; // Ваш токен $bot = new TelegramBot($token); $bot ->addHandler(fn (Update $update) => $bot->api->sendMessage( chatId: $update->message->chat->id, text: $update->message->text )) ->supports(fn (Update $update) => $update->message?->text !== null); $bot->run();
通过 php bot.php
运行
您不会在屏幕上看到任何内容,因为甚至日志记录器也没有设置。但是机器人将运行并回应任何消息。
TODO: 补充readme和文档
目前,更复杂的机器人示例(尽管是在旧框架版本上)可以在 这里 找到。