Messages
sendMessage
sendMessage — базовый метод отправки текста в чат.
Минимум
telegramApi($token, 'sendMessage', [
'chat_id' => $chatId,
'text' => 'Привет!',
]);
chat_id — числовой id пользователя/группы/канала (или @channelusername для публичного канала, где бот админ). Нельзя «написать любому @username», если пользователь никогда не стартовал бота.
HTML parse_mode
$safe = static fn(string $s): string =>
htmlspecialchars($s, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
telegramApi($token, 'sendMessage', [
'chat_id' => $chatId,
'parse_mode' => 'HTML',
'text' => '<b>Новая заявка</b>\nИмя: ' . $safe($name),
]);
Без экранирования пользовательский ввод с < ломает разметку или внедряет чужие теги.
Типичные ошибки
chat not found/bot was blocked by the user;Too Many Requests(429) — смотрите Retry-After, ставьте очередь;- текст длиннее лимита (~4096 символов) — режьте или шлите документом.
Дальше: кнопки под сообщением.