Показать сообщение отдельно

  #5  
Старый 17.04.2022, 19:57
Mamashin
Познавший АНТИЧАТ
Регистрация: 17.11.2021
Сообщений: 1,134
С нами: 2363906

Репутация: 8


По умолчанию

Цитата:
Сообщение от SOLO WARRIOR  

Доброго времени бытия.
Решил сбацать полу-бесполезный стиллер на питоне, который не знаю где может пригодиться.

Суть работы:
1) При запуске программы она добавляет .bat файл в папку C:\Users\NAME\AppData\Roaming\Microsoft\Windows\St art Menu\Programs\Startup,что позволяет ей совершать автозапуск после рестарта ПК.
2) Далее создаётся папка в C:\Users\NAME\AppData\Roamingпод именем Opera, в которую в дальнейшем будут помещаться .zip архивы с файлами.
3) Начинается два бесконечных цикла while, которые проверяют наличие флешки (второй цикл нужен потому что при краше программы первый сразу же восстановит её, и я знаю что это можно было сделать через один цикл, но мне как-то так приятнее.)

*** Алгоритм определения USB до жопы прост, и это можно считать самым большим костылём во всей программе ***

Если размер диска это флешка.

*** Возможные ошибки***

Проводя тесты, заметил, что ошибка бывает только одна, а именно: если при копировании файлов в .zip вытащить флешку, программа упадёт.

4) Каждые 0.5 секунды идёт проверка на наличие флешки через алгоритм, описанный выше.
5) Если USB найден/найдены, создаётся .zip архив в папке Opera, в него помещаются все файлы с флешки/флешок и отправляются на ваше облачное хранилище. После этого архив/архивы удаляются.

Если вам интересно, то без интернета всё будет работать, просто архивы не удаляются, а при каждой перезагрузке системы происходит проверка папки Opera, и попытка загрузить все .zip архивы на диск. Если загрузится - опять же, архивы самоуничтожатся. Если нет - продолжит собирать файлы в папке Opera.

6)Если удалось загрузить файлы на сервер - вы получите ссылку загруженный архив в чате с вашим Telegram-ботом.

7)После успешного копирования данных в папку Opera программа отправляется сладко спать на 1,5 часа. Сделано это с надеждой на то, что человек за это время извлечёт флешку, и архивы с одинаковыми файлами не создадутся повторно. Вы, конечно, можете менять это значение под свои нужды.

Все ошибки по типу FileNotFoundError, FileExistsError и.т.п отлавливаются, и запуск программы должен проходить гладко.

Что вам необходимо?

1)Установить все зависимости:

pip install mega.py

pip install pyTelegramBotAPI

pip install pyinstaller

2)
Создать диск на MEGA, записать логин и пароль в файл load.py


3)Создать Telegram-бота (@botfather), создать с ним диалог (отправить любое сообщение), записать его token и ваш id в файл notifier.py


4) Скомпилировать программу с помощью pyinstaller. (Компилировать исключительно python 3.10 + версии, ибо я проводил тесты по декомпиляции, и все известные декомпиляторы отказались работать с этими версиями.)

Всё!

Не гарантирую работу на Win 8 и ниже.

Можете отправить это кому угодно, и смотреть, что человек хранит на флешке.

Пишите по поводу ошибок в комментарии. По поводу ошибок с компиляцией - не пишите.

PS.


Я активно пытаюсь переписать эту программу на C++, у меня не получается. Если вы спец в плюсах - добро пожаловать в мою личку телеграм @fearlessillness

Жоскооооо и годно, респект.
 
Ответить с цитированием