Обновить версию клиента Телеграм с применением имеющихся изменений
15 000 руб. за проект
Кратко:
Нужно доработать официальный клиент Telegram под андройд, перенеся в него функционал, который у меня уже реализован в одной из предыдущих версий клиента.
Подробно:
Какое-то время назад я создавал заявку здесь на выполнение задачи по доработке официального клиента телеграм.
Вот ссылка на нее для ознакомления:
https://freelance.habr.com/tasks/414073
По заявке удалось найти исполнителя и не без проблем но сделать следующий функционал:
1. При входе в телеграм-клиент отображается окно для ввода сервера, логина и пароля
2. На данный сервер идёт обращение с basic-авторизацией по данному логину и паролю
3. Сервер возвращает json содержащий черный и белый список. Где черный список - это ID пользователей с которыми нельзя общаться (с остальными можно) а белый - это ID групп и чатов в которые можно заходить (в остальные нельзя). Задача фильтрации по никнеймам не реализована, оставлены только ID.
4. При попытке открыть пользователя или группу, которые открывать нельзя - происходило открытие страницы "Избранное" пользователя.
Данные доработки делались долго и мучительно, а когда наконец закончились, я сам покопавшись в них, имея опыт разработки хоть и на других языках, но допилил то, что сделал исполнитель, таким образом, что:
* Правильно работает чёрный и белый списки
* json приходящий с сервера хранится в приложении, а не запрашивается на каждый чих
* Сам адрес сервера, логин и пароль также сохраняются в приложении в виде json-файла, чтобы не вводить их каждый раз.
Проблемы, которые возникли:
1) Данный код мне не удаётся перенести на новую версию Telegram, так как с момента, когда была начата работа, в телеграм-клиент были внесены многие изменения, часть из которых я вообще не понимаю.
2) Имеющаяся версия телеграм-клиента перестала собираться на моём ПК, и как починить эту сборку я не знаю в силу недостатка опыта.
Здесь в моём репозитории можно посмотреть пулл-реквест который содержит все сделанные изменения https://github.com/MihanEntalpo/BlackAndWhiteTeleg...
Итого, задача:
1) Пройти по изменениям в pull-реквесте и перенести их на новую, актуальную версию клиента телеграм: https://github.com/DrKLO/Telegram (форкнуть репозиторий)
2) Добиться возможности сборки и запуска
3) Добиться работоспособности функционала, а именно:
3.1) Отображать окно с вводом адреса сервера, логином и паролем
3.2) Сохранять введённые данные, если удалось подключиться к серверу и получить оттуда Json
3.3) Сохранять полученный Json
3.4) При открытии группы/канала, которые НЕ входят в белый список - перекидывать в заметки
3.5) При открытии пользователя, который входит в чёрный список - тоже перекидывать в заметки
Примеры данных авторизации на сервере для чтения чёрных-белых списков:
Пустые списки:
https://bwtg.mihanentalpo.me/lists
логин: guest
пароль: guest
Возвращается json:
{"whitelist":[],"blacklist":[],"info":"Default empty lists for guest user"}
Не-пустые списки:
https://bwtg.mihanentalpo.me/lists
логин: user0
пароль: password0
Возвращается json:
{"blacklist":["540829676"],"whitelist":["-1001009062025"],"info":"whitelist is 'Yaplakal' channel"}
Как сейчас выглядит окно ввода сервера, логина и пароля можно увидеть на приложенной картинке. А больше никаких интерфейсных элементов нет.
Если планы по дальнейшему развитию функциональности, если сработаемся - будут и другие задачи.
Нужно доработать официальный клиент Telegram под андройд, перенеся в него функционал, который у меня уже реализован в одной из предыдущих версий клиента.
Подробно:
Какое-то время назад я создавал заявку здесь на выполнение задачи по доработке официального клиента телеграм.
Вот ссылка на нее для ознакомления:
https://freelance.habr.com/tasks/414073
По заявке удалось найти исполнителя и не без проблем но сделать следующий функционал:
1. При входе в телеграм-клиент отображается окно для ввода сервера, логина и пароля
2. На данный сервер идёт обращение с basic-авторизацией по данному логину и паролю
3. Сервер возвращает json содержащий черный и белый список. Где черный список - это ID пользователей с которыми нельзя общаться (с остальными можно) а белый - это ID групп и чатов в которые можно заходить (в остальные нельзя). Задача фильтрации по никнеймам не реализована, оставлены только ID.
4. При попытке открыть пользователя или группу, которые открывать нельзя - происходило открытие страницы "Избранное" пользователя.
Данные доработки делались долго и мучительно, а когда наконец закончились, я сам покопавшись в них, имея опыт разработки хоть и на других языках, но допилил то, что сделал исполнитель, таким образом, что:
* Правильно работает чёрный и белый списки
* json приходящий с сервера хранится в приложении, а не запрашивается на каждый чих
* Сам адрес сервера, логин и пароль также сохраняются в приложении в виде json-файла, чтобы не вводить их каждый раз.
Проблемы, которые возникли:
1) Данный код мне не удаётся перенести на новую версию Telegram, так как с момента, когда была начата работа, в телеграм-клиент были внесены многие изменения, часть из которых я вообще не понимаю.
2) Имеющаяся версия телеграм-клиента перестала собираться на моём ПК, и как починить эту сборку я не знаю в силу недостатка опыта.
Здесь в моём репозитории можно посмотреть пулл-реквест который содержит все сделанные изменения https://github.com/MihanEntalpo/BlackAndWhiteTeleg...
Итого, задача:
1) Пройти по изменениям в pull-реквесте и перенести их на новую, актуальную версию клиента телеграм: https://github.com/DrKLO/Telegram (форкнуть репозиторий)
2) Добиться возможности сборки и запуска
3) Добиться работоспособности функционала, а именно:
3.1) Отображать окно с вводом адреса сервера, логином и паролем
3.2) Сохранять введённые данные, если удалось подключиться к серверу и получить оттуда Json
3.3) Сохранять полученный Json
3.4) При открытии группы/канала, которые НЕ входят в белый список - перекидывать в заметки
3.5) При открытии пользователя, который входит в чёрный список - тоже перекидывать в заметки
Примеры данных авторизации на сервере для чтения чёрных-белых списков:
Пустые списки:
https://bwtg.mihanentalpo.me/lists
логин: guest
пароль: guest
Возвращается json:
{"whitelist":[],"blacklist":[],"info":"Default empty lists for guest user"}
Не-пустые списки:
https://bwtg.mihanentalpo.me/lists
логин: user0
пароль: password0
Возвращается json:
{"blacklist":["540829676"],"whitelist":["-1001009062025"],"info":"whitelist is 'Yaplakal' channel"}
Как сейчас выглядит окно ввода сервера, логина и пароля можно увидеть на приложенной картинке. А больше никаких интерфейсных элементов нет.
Если планы по дальнейшему развитию функциональности, если сработаемся - будут и другие задачи.
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.