Skip to content

Latest commit

 

History

History
58 lines (56 loc) · 7.67 KB

TODO.md

File metadata and controls

58 lines (56 loc) · 7.67 KB

Важно:

  • Разобраться с лимитами телеграмма.
  • Если локальный конфигурационный файл содержит в себе версию приложения совпадающую с файлом из удалённого репозитория AND локальный файл содержит в себе не совпадающую версию базы данных из удалённого репозитория, то только в этом случае нужно удалить таблицу опций пользователя и продолжить выполнение кода (пересоздать таблицу опций с новыми параметрами).
  • Если имя пользователя не установлено, нужно предложить установить случайный или попросить самому установить в официальном приложении. Перед тем как начать выполнять задачи, нужно проверить на двустороннее существование имён пользователей для корректного нахождения сущностей аккаунтов.
    • Скрыто устанавливать имя пользователя (временное решение).
  • В release.py добавить увелечение версии базы данных, если были произведены изменения функционала.
  • Правильная индикация прогресса при выполнении задачи.
  • Переписать синхронизацию избранных сообщений включая следующие механизмы:
    • Пересылать за раз 100 сообщений (максимальное кол-во допустимое тг)
    • Сохранять список закреплённых сообщений.
    • Сохранять последовательность
    • Сохранять последовательность отвеченных сообщений в этом же чате.
    • Подумать над коллизеей сообщений, убедиться что группированные сообщения входят допустимое значение =< 100. Максимальное количество группированных сообщений = 10, значит надо тут ещё подумать...
  • Исправить локализацию приложения. Корректно работает только на Linux.
  • Паралелльное выполнение задач в момент работы программы. Не стоит терять драгоценное время на ожидания.
  • В .yml повысить версию питона до 3.12.
  • Добавить кнопку для переключения языка.
  • Добавить кнопку отмены при выполнении задач.
  • Игнорировать повторное нажатие кнопки Start, если она уже была нажата.
  • Start Button должно быть отдельным классом.
  • Если пользователь авторизовал существующий аккаунт, нужно автоматически разлогинить эту сессию и удалить данные из db.
  • Добавить стиль для отображения предупреждений о неполноте синхронизации (потеря данных и т.д).
  • Не вступать в те каналы, которые уже есть у получателя.
  • Придумать, как можно было бы сохранять выполненый прогресс.
  • Переписать части алгоритмов. Ты сам помнишь какие, мне лень сюда переписывать :D

Второстепенно:

  • Найти решение отказаться от использования нахождения сущностей строго по username. Механизмы телеграмма не позволяют писать человеку по его ID, если access_hash не содержит информацию об этом чате. То есть, если общение между двумя собеседниками не было и чат между ними не существует, то отправить сообщение указывая ID аккаунта не получится.
  • При попытке авторизовать уже существующий аккаунт в программе, это нужно обработать. SQL алгоритм уже готов, нужно допилить только GUI.
  • Добавить авторизацию по номеру телефона.
  • Отображать пользовательский аватар вместо иконки.
  • Проверять актуальность данных пользователя при запуске программы (если пользователь авторизовался в программе).
  • Создать скрипт для частичной автолокализации.
  • Добавить плавные анимации на кнопку "начать" и исправить скорость вращения иконки для Windows.
  • Poetry instead pip
  • Прикрутить логгирование.
  • Уведомление о новом обновлении должно быть отдельным классом, а не в utils.
  • Dividers в секции о приложении.
  • Слева от кнопки start добавить приблизительное время выполнения всех задач.
  • Добавить changelog.txt в репозиторий.
  • Дописать синхронизацию публичной аватарки.

Будущие функции:

  • Синхронизация имени, фамилии и описания.
  • Синхронизация избранных сообщений. 50/50
  • Синхронизация пользовательских фото и видео аватаров.
  • Синхронизация публичных каналов и групп.
  • Синхронизация настроек конфиденциальности.
  • Синхронизация настроек безопасности.
  • Синхронизация наборов эмоджи, стикеров и gif. Также архивированных паков.
  • Синхронизация списка ботов.
  • Синхронизация заблокированных пользователей и ботов.
  • Синхронизация обоев для чатов.
  • Синхронизация папок (стоит объединить с синх. публичных каналов и групп.)
  • Синхронизация контактов.
  • Синхронизация архива историй.
  • Синхронизация каналов, групп и ботов которыми пользователь владеет.
  • HARD Синхронизация закрытых каналов и групп (с автоматическим поиском/парсером ссылок приглашения).