Задача:
Создать Telegram-бота, который бы принимал от человека его номер телефона, текущую гео-позицию и фото, а затем, указывал бы все эти данные на одной общей карте.
Решением было использовать стандартный API Telegram с получением номера и гео-позиции. Так же, для хранения всех фото заказчик настоял на Яндекс.Диске. Сервис работает с Диском через REST API, а для получения привью для карты используется WebDEV API. После отправки фото клиентом, данные попадают в базу и отображаются на карте.
Сложности:
После загрузки фото на Яндекс.Диск, оно некоторое время обрабатывается. Решением стало создать cron-скрипт, который проверяет текущее состояние фото. Пока фото в обработке, выводится ссылка для его просмотра в Диске.
Использованы технологии:
PHP для бота и генерации данных для карты, а так же для работы с API Яндекс.Диска.Яндекс.Карты JavaScript API для отображения данных на карте.
MySQL для хранения данных о загруженных фото.