zhenyagr/tgz
Composer 安装命令:
composer require zhenyagr/tgz
包简介
Библиотека для разработки ботов в Telegram
README 文档
README
Простая, но мощная PHP библиотека для Telegram Bot API!
ZenithGram — это библиотека нового поколения для создания Telegram-ботов. Она избавляет вас от бесконечных массивов и if/else конструкций, предлагая чистый, декларативный синтаксис, мощный роутер и удобные конструкторы.
⚡ Ключевые особенности
- Fluent Interface: Цепочки методов для создания сообщений (
msg()->img()->text()->send()). - Мощный Роутер: Класс
Botдля удобной обработки команд, текста, кнопок и регулярных выражений. - FSM и Диалоги: Встроенная машина состояний для создания пошаговых сценариев и анкет с сохранением контекста (step, onState).
- AI-Native: Оптимизирована для работы с AI-ассистентами (Cursor, Windsurf).
- Универсальность: Поддержка Webhook и LongPoll из коробки.
- Обработка ошибок: Встроенный обработчик ошибок.
- Встроенная Пагинация: Автоматическая генерация постраничной навигации для списков.
📦 Установка
Установите библиотеку через Composer:
composer require zenithgram/zenithgram
🤖 AI-Native Development
Если вы используете Cursor, Windsurf или другие AI-IDE, добавьте ссылку на наш контекстный файл в документацию проекта. Нейросеть мгновенно изучит все методы библиотеки и будет писать идеальный код.
📄 Ссылки для AI:
https://zenithgram.github.io/llms-full.txthttps://zenithgram.github.io/llms.txt
📚 Документация
Полное описание всех методов, классов и возможностей доступно на официальном сайте:
🛠 Основные возможности
Конструктор сообщений
Забудьте о ручном сборе массивов параметров. Используйте цепочки методов:
$tg->msg("Посмотрите на это *фото*!") ->img('https://cataas.com/cat') // URL, ID файла или путь ->reply() // Ответить на сообщение пользователя ->parseMode('MarkdownV2') ->send();
Роутинг и обработка событий
Класс Bot позволяет элегантно обрабатывать любые события:
// Команда с аргументами (!ban @user причина) $bot->onCommand('ban', '!ban %w %s') ->func(function(ZG $tg, $username, $reason) { $tg->reply("Пользователь $username забанен. Причина: $reason"); }); // Обработка кнопки "О нас" (текстовая клавиатура) $bot->onText('about', 'ℹ️ О нас') ->text('Мы — лучшая компания!'); // Регулярные выражения (поиск email) $bot->onTextPreg('email', '/[\w\.]+@[\w\.]+/') ->func(function(ZG $tg, $matches) { $tg->reply("Найден email: " . $matches[0]); });
Умные клавиатуры
Создавайте меню и обрабатывайте нажатия (Callback) в одном месте:
// 1. Создаем кнопки и их действия $bot->btn('yes', '✅ Да') ->query('Вы согласились!') // Всплывающее уведомление ->editText('Отлично, вы нажали ДА.'); $bot->btn('no', '❌ Нет') ->editText('Вы отказались.'); // 2. Отправляем клавиатуру $bot->onBotCommand('vote', '/vote') ->text('Вам нравится ZenithGram?') ->inlineKbd([ ['yes', 'no'], // Используем ID кнопок [Button::url('Документация', 'https://zenithgram.github.io')] ]); $bot->run();
Пагинация
Автоматическое создание навигации для больших списков:
// Создаем 50 кнопок $items = []; for ($i = 0; $i < 50; $i++) $items[] = Button::cb("Товар $i", "item_$i"); // Генерируем клавиатуру для 1-й страницы $keyboard = $tg->pagination() ->setItems($items) ->setPerPage(5) ->setPage(1) ->create(); $tg->msg("Каталог товаров:")->inlineKbd($keyboard)->send();
zhenyagr/tgz 适用场景与选型建议
zhenyagr/tgz 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 125 次下载、GitHub Stars 达 5, 最近一次更新时间为 2025 年 07 月 12 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 zhenyagr/tgz 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 zhenyagr/tgz 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 125
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 15
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-12