michyaraque / simpletelegrambot
此包最新版本(v1.0.0)没有可用的许可信息。
使用PHP编写的完整的Telegram机器人API实现,支持内联机器人和完全组件化!
v1.0.0
2021-11-29 03:15 UTC
Requires
- php: >=7.2.0
- vlucas/phpdotenv: 5.4.x-dev
Requires (Dev)
- phpunit/phpunit: ~9
This package is auto-updated.
Last update: 2024-09-29 05:57:01 UTC
README
想象一下,能够通过几个步骤创建一个机器人,每个菜单或功能就像是一个类的方法。我开发了这个工具,使创建需要多个屏幕交互的机器人变得更加容易。
项目概述
先决条件
- PHP >= 7.4
- Redis
- Mysql Mariadb
- Domain with SSL
功能
- 组件内的组件
- 轻松创建组件
- 轻松步骤过程
如何使用组件
在“事件”文件夹中,您可以创建多个不同的加载器或分离的机器人。
事件文件夹结构
Events └── example ├── main.php └── __query_helpers.php
要加载此结构文件夹,您必须在公共文件夹中定义
$events = new EventLoader(Updates::userId(), Updates::language()); $events->setPath('example'); $events->forceEvents(['main.php', '__query_helpers.php']); $events->getEvents();
在main.php中,您必须声明组件路由如下
Component::group('Example', function ($component) { $component->include('initialPanels')->get([ 'start' => ['commands' => ['start', 'cancel']], ])->init(); });
start
指的是位于“initialPanels”文件夹内的Example
路径中的静态函数,该文件夹位于“initialPanels”文件夹内initialPanels
必须命名为InitialPanelsComponent.php
组件的文件夹结构如下,您可以添加尽可能多的内容
Components ├── Example │ └── InitialPanelsComponent.php └── Component.php
initialPanelsComponent.php概述
<?php namespace App\Components\Example; use App\Models\Data; use App\Components\Component; use Telegram\{Client, Updates}; class InitialPanelsComponent extends Component { public static function start() { Client::sendMessage(Updates::userId(), "Example message"); } }
如何 > Telegram函数
Telegram更新在Updates类中全局加载,您可以在任何地方使用静态形式使用它
简单的带内联键盘发送消息
$inline_keyboard = new InlineKeyboard; $inline_keyboard->inlineKeyboardButton('Button name', 'callback_identifier'); $inline_keyboard->endRow(); Client::sendMessage(Updates::userId(), "Example message", [ 'reply_markup' => $inline_keyboard->inlineKeyboardMarkup() ]);
许可
MIT