А чего сложного-то?
Вы хоть в АПИ ВК самого заглядывали? Там все доступно расписано, даже примеры есть (и ограничения).
1. Изучить документацию api VK на предмет интереса;
2. Написать сервис, который пробежит по всем сообщениям, выделит внутренние ссылки на документы, запишет это куда-то себе в базу и уснет до следующего запуска;
3. Сервис загрузки файлов будет мониторить базу на предмет появления новых ссылок, обрабатывать новые строки (надо скачивать, не надо/такое есть и пр.) и, собственно, скачивать и складировать;
4. Масштабировать в зависимости от нагрузки можно сервис под п.3 для ускорения.