- Программа представляет собой консольное приложение на языке C# (.Net Core или .Net Framework)
- Программа запрашивает id очередного аккаунта до ввода пустой строки.
- Должны поддерживаться id пользователей и групп, цифровые и человекочитаемые. Например:
- id1
- durov
- public147415323
- tech
- Получить статистику последних 5 постов этого id в vk. Статистика – частотность букв, составляется из текста постов.
- Вывести статистику в консоль.
- Запостить сообщение от собственного аккаунта или группы с этой статистикой.
- Формат сообщения:
$"{username}, статистика для последних 5 постов: {stats}"
stats
должен быть в виде JSON:- объект
{"a": 0.01, "b": 0.0003}
- или массив
["a": 0.01, "b": 0.0003]
- объект
username
- имя пользователя или группы, которое можно узнать по id
- Формат сообщения:
- Предусмотреть обработку ошибок и исключений.
- По желанию, читать ключ api и прочие настройки из файла конфигурации.
- Самостоятельное принятие решений, если в ТЗ что-то не учтено, с пояснением, в чем были сомнения и почему выбран какой-то вариант. Можно в виде кратких заметок или комментариев в коде.
- Писать красивый, чистый и понятный код.
- Закладываться на масштабируемость и изменение требований (мы так делать не будем, но представьте, что эту штуку придется поддерживать год и постоянно что-то менять)
- Применять навыки работы со стандартными классами .net и сторонними библиотеками, например для вызовов VK API или сериализации JSON.
- Применять принципы ООП и SOLID по назначению.
Не получается работать с vk или нет там учетки
Можно сделать то же самое с другой соцсетью, например twitter или facebook. Однако twitter в последнее время очень долго выдает ключи для api.
Не хочу светить свою страницу или захламлять стену постами бота
Можно создать группу и постить в ней. Нам не понадобится ключ api или проверять посты на вашей странице, можно удалить из кода любые упоминания о себе.
Считать статистику только по буквам, или символам тоже?
Как угодно, можно обойтись алфавитом, можно заморочиться и распознавать emoji, например.
Как и какие ошибки обрабатывать?
Если на странице нет постов, или нет текста в пяти последних?
Все на ваше усмотрение. Понятно, что всего не предусмотришь, но хотелось бы, чтобы программа не падала из-за всяких мелочей. Если кажется уместным особое поведение в крайних случаях - смело пробуйте!
Нужно ли сортировать статистику, как-то форматировать числа?
Можно сделать, если вам кажется, что так выглядит лучше.