Почему не отправляются сообщения в Telegram чат\канал\группу через бота?

есть код

else if($message === '/today_orders' or $message === '/today_orders@name_bot'){

    $id = '';
    $tp = '';
    $today = date("m/d/Y");
    $users = $db->query('SELECT id, type, telegram FROM users');

    while($row = mysqli_fetch_array($users)){
        if($row['telegram'] == $user_id){
            $list_users[] = array('id' => $row['id'], 'type' => $row['type'], 'telegram' => $row['telegram']);
            $id = $row['id'];
            $tp = $row['type'];
            break;
        }
    }

    $orders = $db->query('SELECT * FROM orders ORDER BY date DESC, time DESC');

    while($row = mysqli_fetch_array($orders)){

        if($tp === 'admin' or $tp === 'partner' and $row['send'] === $id or $tp === 'perf' and $row['perf'] === $id){

            if($row['date'] === $today){

                // $message = $row['serv'] . ' ' . $row['type'] . '\n' . $row['date'] . ' в ' . $row['time'] . '\n' . $row['cash'];

                $message =

                "\n\n<b>Услуга</b>\n"
                . $row['serv'] . " | " . $row['type']
                . "\n\n<b>Дата и время</b>\n"
                . $row['date'] . " в " . $row['time']
                . "\n\n<b>Комментарий от клиента</b>\n"
                . $row['mssg']
                . "\n\n<b>Комментарий от администратора</b>\n"
                . "lolololol"
                . "\n\n<b>Исполнитель</b>\n"
                . "\n\n<b>Отправитель</b>\n";

                if($row['stat'] === 'wait'){

                    $keyboard =

                    [
                        'inline_keyboard' =>
                        [
                            [
                                [
                                    'text' => 'Отменить',
                                    'callback_data' => 'nope_' . $row['iden']
                                ],

                                [
                                    'text' => 'Завершить',
                                    'callback_data' => 'done_' . $row['iden']
                                ]
                            ]
                        ]
                    ];

                    $message .= '&reply_markup=' . json_encode($keyboard);
                }

                file_get_contents("http://api.telegram.org/bot{$telegram_token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text=" . urlencode($message));
            }               
        }
    }
}

Я получаю команду от бота /today_orders, далее ищу id пользователя в своей таблице пользователей (попадают туда с помощью регистрации), потом достаю внутренний id (случайная 16 байтовая строка) и уже в таблице заказов нахожу данные и отправляю в чат. Сообщение перестает отправляться, когда я добавляю последние 2 строчки в переменной message или если их удалить и заменить lolololol на $row['mssg_to_client'] (колонка в таблице) так же сообщение не отправится. Никаких ошибок не получаю при отладке. Бота делаю первый раз. php знаю плохо (я по фронту). Так значит есть максимальная длина сообщения? Я читал, что это 4090 символов. Кажется у меня явно меньше.

p.s urlencode использую для кодирования символов. Функция не доделана. Написал для теста этот кусок.

p.s strlen(urlencode($message)) равен от 1063 до 1416 т.е условно говоря в 4 раза меньше лимита.

Можете сказать, что не так?


Ответы (0 шт):