承接 f4php/pechkin 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

f4php/pechkin

最新稳定版本:v0.1.0

Composer 安装命令:

composer require f4php/pechkin

包简介

Pechkin is a Telegram API wrapper and Bot for F4, a (really) lightweight web application framework

README 文档

README

ABOUT

Pechkin is a Telegram API wrapper and Bot implementation, designed around the following concepts:

  • Very flexible and rich mechanics for branching Bot logic
  • Declarative configuration style
  • Support for seamless session operations in default PHP style
  • Native support for as many API data types and methods as possible
  • Seamless F4 integration

F4 routing integration

  $bot = new Bot($token);

  $f4->addRoute(
    Route::post('/bot.json', function (): void {})
        // This will interrupt normal request processing
        // and return an empty 204 response on every Telegram webhook request
        ->before($bot->interceptWebhook(...)),
  );

Simple Bot configuration

new Bot($token)
    ->register(
        On::command('/start', function(Context $ctx): void {
            // ...
        }),
    );

Advanced Bot configuration example

new Bot($token)
    ->register(
        // Register handlers that do not require any grouping or special conditions
        On::command('/start', function(Context $ctx): void {
            $_SESSION['flow'] = 'my-flow';
        })
          // Handler-level middleware
          ->before(fn(Context $ctx): Context => $ctx->withUpdate(/*...*/))
          ->onException(Throwable::class, function(Throwable $e, Context $ctx) {
              // ...
          }),
        On::command(When::equals('/cancel'), function(Context $ctx): void {
            $_SESSION['flow'] = '';
            // $ctx->client->reply("Hey there!");
        }),

        // Flows are groups of handlers with common pre-condition
        Flow::when(fn(Context $context): bool =>
            $_SESSION['flow'] === 'my-flow'
        )
          // Flow-level middleware
          ->before(fn(Context $ctx): Context => $ctx->withUpdate(/*...*/))
          ->register(
              On::command(When::startsWith('/command2'), function(Context $ctx): void {
                  // ...
              })
                ->before(fn(Context $ctx) => $ctx->withClient(/*...*/)),
              On::command(When::oneOf(['/command3', '/command4']), function(Context $ctx): void {
                  // ...
              }),
              On::command(When::matches('~/command[5-7]~'), function(Context $ctx): void {
                  // ...
              }),
              On::default(function(Context $ctx): void {
                  //...
              }),
          )
          ->onException(Throwable::class, function(Throwable $e, Context $ctx) {
              // ...
          }),
    )
      ->onException(Throwable::class, function(Throwable $e, Context $ctx) {
          // ...
      });

Sessions

Sessions are supported and enabled by default. Each webhook call automatically gets a session keyed by context: private chats are keyed by user ID, groups/supergroups/channels by chat ID.

Session data is available in the conventional $_SESSION global array. Sessions in Pechkin do not use cookies.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固