shklyaev-p-a/telegram-bot-wrapper

简单的telegram-bot/api库包装器

dev-main 2022-12-30 09:43 UTC

This package is auto-updated.

Last update: 2024-09-29 06:14:57 UTC


README

require('vendor/autoload.php');

(new \BotWrapper\Factories\BotFactory())->token('your token')
    ->bindData([name => val]) //forward data to properties
    ->middlewares([]) 
    ->commands([
        BotWrapper\Examples\HelloCommand::class,
        \BotWrapper\Examples\GoodbyeCommand::class
    ])
    ->messages([
        \BotWrapper\Examples\TestMessage::class
    ])
    ->queries([])
    ->actions([])
    ->create();

bot只有一个版本。您可以通过以下方式访问bot:$bot = Bot::getInstance();

中间件、消息、查询和其他类必须从BotWrapper\Chaining文件夹中的抽象父类创建

描述

这个库只是对其他库的简单包装,使其更快、更易读、更适合增长型项目。这个库实现了以下模式:单例(在应用中只有一个bot类)、使用中间件的链式调用(用于一致性地绑定bot查询)、策略(选择三个类中匹配签名类型的一种:数组、字符串或正则表达式),以及为bot和matcher类提供简单工厂和类构建器。

您可以在src\Examples中找到示例

有关使用此库的完整信息,您可以在:https://github.com/TelegramBot/Api

中间件类

用于在bot属性中设置lastAction(默认为空字符串)或其他可能需要在bot生命周期中使用的元数据的类

命令类

命令类用于检测类似/start或其他以'\ '符号开头的Telegram命令

消息类

消息类用于检测发送到聊天的Telegram回复键盘消息,例如在菜单按钮上点击后发送的简单文本

动作类

动作类需要与自定义中间件类一起使用,该类绑定在bot属性中的lastAction id上,作为签名。它需要一个简单的文本,用户在聊天中发送的文本。根据最后执行的动作来确定我们需要做什么

对于简单的用户输入文本处理,您需要使用消息类

对于bot来说,回复键盘按钮文本和用户输入文本之间没有区别

查询类

动作类确定内联键盘按钮的数据