Used API VK library - VkNet
-
Единый конфигурационный файл со всеми настройками запуска может быть загружен разными путями (в данный момент, ввод с консоли или загрузка из файла)
-
Вход в аккаунт может быть осуществлен как по логину/паролю, так и по токену. Если выполнить вход и перезапустить приложение, то в следующий раз вход будет произведен в эту же учетку по токену автоматически. Токен валидируется, поэтому если он истечёт - придется входить повторно
-
Библиотека VkNet была частично переписана для решения проблем с капчей (поверхностно пофиксить получилось, но ряд случаев до сих пор не работает, очевидно, надо копать глубже, см. Know Issues)
-
Исключения - выбрасываются исключения о действительно исключительных ситуациях, в данный момент нормально обрабатываются:
- Ошибки авторизации
- Ошибки доступа
- Ошибки парсинга
- Ошибки чтения и сохранения постов
-
Сгореть от неработающей капчи и кривой авторизации в использованой либе - Done!
-
Написано с расчетом на потенциальное исопльзование DI контейнера (но сам он не прикручен: на мой взгляд, в этом нет смысла здесь и сейчас)
-
Рассчитано на дописывание новой собираемой статистики и гибкий выбор, какую именно статистику собирать надо в конкретный запуск
- Докопать VkNet и понять, почему не работает капча. Временное решение - загрузка конфига из файла, токен можно получить вручную
В данный момент не работает нормально авторизация по логину/паролю - если авторизовываться так слишком часто, полезет капча, а с работой с ней в VkNet какие-то проблемы: в самой библиотеке не был поддержан один из случаев капчи (вторая капча после 2FA, уже дописано), и в целом судя по всему ввод в "поля" не работает. По видимому, нужно копать и REST клиента (а он там наполовину самописный, наполовину Microsoft'овый), и HtmlAgilityPack, а возможно и в целом раскапывать страницу авторизации ВК. Выглядит как задача минимум на 15-20 часов, если не более - в топку