Роман, причём тут бот? Бот апи не используется. Сообщения будут отправляться от имени пользователя в личный чат клиенту. Бот не может первым отправить сообщения пользователю, если тот не подписан на бота.
Вчера разобрался. Я видел библиотеки, но мне хотелось с нуля понять и написать обработчик с использованием CURL. В целом оказалось все просто, как и раньше, только в заголовок (Authorization) передавался токен, который предварительно был получен (nакже постоянно обновляется с использованием refresh_token) также с использованием CURL.
Adamos, читал на зарубежных форумах было периодическое мертвое зависание. Спасает только ребут.
Но датировалось 2018 годом (начало). Может ситуация изменилась.
romaaa32, в данному случае выполняется сразу, т.е. следущая итерация начинается сразу, а не ждет завершения предыдущей. Если убрать > data/debug-'.$i.'.log 2> /dev/null &, то будет ждать выполнения скрипта, только потом переход к следующей итерации.