Are you an LLM? You can read better optimized documentation at /classes/actionMethods/messageBuilder.md for this page in Markdown format
MessageBuilder
Trait, который используется в классах Message и Action для сборки и отправки сообщений
Он включает в себя все методы для сборки сообщений, например: text(), parseMode(), reply().
Подробнее про класс Message и доступных методах здесь
Примеры использования
php
<?php
require_once __DIR__ . '/vendor/autoload.php';
use ZenithGram\ZenithGram\ZG;
use ZenithGram\ZenithGram\Bot;
use ZenithGram\ZenithGram\Button;
use ZenithGram\ZenithGram\Enums\MessageParseMode;
use ZenithGram\ZenithGram\Enums\MessageDice;
$tg = ZG::create(BOT_TOKEN);
$bot = new Bot($tg);
// 1. Текст с форматированием
// Используем text() и parseMode() для отправки HTML
$bot->onBotCommand('start', '/start')
->text("Привет! <b>Добро пожаловать</b> в бота.")
->parseMode(MessageParseMode::HTML);
// 2. Медиа с подписью и клавиатурой
// text() автоматически становится подписью (caption), если добавлено медиа
$bot->onText('cat', 'покажи кота')
->img('https://cataas.com/cat')
->text('Вот твой случайный котик 🐱')
->inlineKbd([
[Button::cb('Ещё одного', 'cat')]
]);
// 3. Ответ на сообщение (Reply) и удаление клавиатуры
// reply() заставляет бота ответить на сообщение пользователя
$bot->onText('close', 'закрыть меню')
->reply() // Ответ на сообщение пользователя
->text('Клавиатура скрыта.')
->removeKbd();
// 4. Отправка документа с дополнительными параметрами
// params() позволяет передать специфичные флаги API, например disable_notification
$bot->onBotCommand('rules', '/rules')
->doc('rules.pdf')
->text('Ознакомьтесь с правилами.')
->params(['disable_notification' => true]);
// 5. Развлекательные методы (Кубик)
// dice() отправляет анимированный эмодзи
$bot->onText('dice', 'кинь кубик')
->dice(MessageDice::Dice);
// 6. Сложная цепочка (Fluent Interface во всей красе)
$bot->onBotCommand('promo', '/promo')
->img('https://example.com/poster.jpg') // Картинка
->text("*Скидка 50%* на все товары!") // Текст/Подпись
->parseMode(MessageParseMode::MarkdownV2) // Форматирование
->reply() // Реплай
->inlineKbd([[Button::url('Купить', 'https://example.com')]]) // Кнопка
->params(['protect_content' => true]); // Запрет пересылки
$bot->run();