Там же написано в примере на их странице:
// Get the "viewport" of the page, as reported by the page.
$dimensions = $page->evaluate(JsFunction::createWithBody("
return {
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight,
deviceScaleFactor: window.devicePixelRatio
};
"));
$_SERVER['REMOTE_ADDR'] - может работать неправильно если на сервере стоит NGINX перед APACHE. В таком случае будет передаться IP адрес сервера, а не клиента.
Глупая ситуация получилась. Я удалил бота и переписку (delete conversation) и добавил его снова в контакты, и проблема исчёзла. Возмоэно сам телеграм клиент хранил старую клавиатуру.