Автоматизация blum + установка и т.п

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Автор q2e
Источник https://xss.is



Добрый вечер форумчане недавно я написал простенький скрипт для фарма в blum ,по просьбам юзеров я написал статью где слил и обьяснил как работает мой скрипт и как его настроить !!!

И так начнем

Что такое blum ?Blum - это новый коин , который успешно развивается и имеет большой потенциал . Почему именно он ? Среди всех новых коинов самый перспективный является blum .По прогнозам 1 blum будет стоить 50 центов , комьюнити bluma это в основном бывшие сотрудники бинанс . Проект быстро развивается , показывая свои серьезные намерения , разработчики обещают 0.5 центов за один blum .На данный момент у проекта есть галочка телеграмм , разработчики намекнули что вывод будет в notcoinax что очень даже не плохо. Я решил автоматизироват процесс фарма , стоит лишь подключить аккаунты грамотно настроить и фармить койны , все достаточно легко и просто .Про проект можно писать вечно , если хотите почитайте в интернете

Статья будет делиться на 7 этапов

1. Подготовка запуску

2. Настройка телеграма

3. Рекомендации для быстроты работы

4. Запуск

5. Структура проекта

6. Обзор скрипта

7. Потенциальные ошибки


1.Подготовка к запуску

Python:

  • Установить последнюю версию Python с сайта python.org
  • Установить следующие библиотеки:
  • customtkinter
  • tkinter
  • pyautogui
  • pynput
  • pillow
  • pygetwindow
  • keyboard
  • cv2
  • CTkSpinbox
  • Либо вставьте команду в терминал:

    pip install tkinter pygetwindow pyautogui keyboard pynput opencv-python customtkinter pillow CTkSpinbox

    2 .Настройка телеграма
    • Добавить бота BlumCryptoBot и нажать /start
    • Создать ярлык Telegram с вашим аккаунтом на рабочем столе
    • Закрепить чат Blum, чтобы он был сверху
    • Во всех Telegram аккаунтах, где будет происходить фарм, чат Blum должен находиться на одинаковой позиции сверху
    • Изменить тему Telegram на классическую (чтобы скрипт по обнаружению кнопок работал правильно)
    • Если нет желания менять тему, можно сделать скриншоты нужных кнопок и поместить их в папку data в локальной директории программы (см. примеры скриншотов кнопок в папке data)
  • Рекомендации
    • Заранее запустить все ярлыки, которые вы будете использовать через программу, а затем свернуть их (для ускорения работы). Если не запускать заранее, процесс открытия будет дольше, и интервал в button_searcher.py нужно будет увеличить.
    • Если курсор начинает кликать в случайные места, это означает, что программа пыталась распознать кнопку или элемент интерфейса, когда тот ещё не загрузился. Чтобы решить проблему, нужно закрыть программу, затем изменить интервалы в скрипте button_searcher.py либо подождать, пока Blum/Telegram начнут работать быстрее.
    • Закрыть все лишние окна/программы
    • Скорость/точность фарма зависит от мощности железа. В идеале скрипт точно собирает всё, и максимально редко нажимает на бомбы (исключение составляет случай, когда blum коин появляется прямо над/под бомбой).

    Запуск
    1.Запустить gui.py
    2.Выбрать ярлык(-и) аккаунтов Telegram с рабочего стола
    1718024577840.png


    3.Ввести каким чат Blum идёт по счёту сверху
    1718024692878.png


    Например, на картинке снизу, чат Blum находится 3 по счёту, поэтому на счётчике ставим 3:
    1718024755113.png



    ! Архив считается как чат
    4.Свернуть все запущенные ярлыки телеграма крестиком:
    1718024844504.png


    5.Если нажать флажок снизу
    1718024885928.png



    , то бот будет собирать ежедневную награду со всех тг аккаунтов которые были выбрали.
    ! Если выбрать одни аккаунты с ежедневной наградой, а другие без, то скрипт каждый раз будет пытаться обнаружить кнопку continue(процесс обнаружения кнопок последовательный), что приведёт к кликанию в рандомные места, и сбою работы.
    После завершения всех предыдущих шагов, жмём кнопку “Запустить фарм”.

    С этого момента бот сам откроет Telegram, затем откроет Blum и начнёт фармить Drop game за билеты. Игру можно приостановить клавишей Q (иногда её нужно нажать дважды), либо завершить клавишей B, чтобы перейти на следующие окна.

    После завершения работы бота, можно открыть другой ярлык Telegram с другим аккаунтом, не забыв включить прокси.

    * При выборе множества окон бот будет переходить к следующему, когда в предыдущем закончатся билеты.

    Структура проекта

    Папка assets – файлы приложения(иконки)
    Папка data – скриншоты кнопок для обнаружения

    Обзор скрипта

    Всего в проекте 3 основных скрипта:
    1718025082615.png



    Gui.py

    Это скрипт интерфейса, также он содержит логику выбора файлов, запуска фарма, и остальных элементов.

    Button_searcher.py

    Этот скрипт отвечает за распознание кнопок на экране и за взаимодействие бота с экраном(интерфейсом) пользователя. Алгоритм работы прост: из папки data скрипт берёт скрин кнопки, затем жмёт на неё используя функцию:
    1718025121360.png


    этот отрывок кода жмёт на кнопку launch_blum.png
    Также между нажатиями стоят интервалы, дабы не допустить раннего нажатия кнопок (см. потенциальные ошибки)

    1718025185405.png

    - интервал в 3 секунды

    В конце, после нажатия всех кнопок, скрипт запускает main.py, который отвечает за автоматизацию drop game
    1718025239451.png


    Тем самым код выстраивает последовательность нажатия кнопок.

    Открыть тг -> открыть чат -> нажать launch blum -> (опционально) нажать continue -> прокрутить вниз(использует ориентир star.png) -> нажать play -> запустить фарм

    Поэтому, если последовательность нарушается, в дальнейшем бот сбивается и кликает в другие места.


    Main.py
    Скрипт фарма который находит зелёные пиксели и жмёт на них, также скрипт отвечает за автоматическое нажатие кнопки play again (если билеты остались), а также за переход/закрытые окон телеграма.


    Потенциальные ошибки
    1.Unicode encode error
    Возникает, из-за того что интерпретатор не может распознать символы:
    Решение: удалите эти символы в скрипте main.py

    2.Бот открывает неверный чат
    Решение: правильно поставьте номер чата на счётчике:
    1718025380085.png



    3.Курсор кликает в рандомные места:
    Причины:

    Не распознаёт кнопку
    Решение: заново сделайте скриншот нужной кнопки, чтобы понять какой проследите после какого шага бот сбился.
    Также чем больше текста/окон/приложений на экране, тем больше вероятность того, что бот собьется, поэтому можно закрыть ненужные приложения, уменьшить окно телеграма.

    Отмечен флажок сбора ежедневных наград, но в одних аккаунтах ежедневные награды собраны, а в остальных нет.
    Решение: перед запуском, убедится что во всех запускаемых аккаунтах либо есть ежедневная награда(отметить флажок), либо нет(убрать флажок).

    Распознает кнопку, но промазывает
    Проблема возможно в разрешении вашего компьютера/ноутбука, либо в работе самой библиотеки.
    Решение: в скрипте button_searcher.py есть функция, отвечающая за поиск и нажатие кнопок.
    1718025586024.png


    В ней есть 2 дополнительных необязательных аргумента аргумента сдвига курсора, от изначально найденной позиции. offset – сдвиг влево/вправо. offset – вверх/вниз.
    Поэтому если бот кликает примерно так:

    1718025738526.png



    Это значит что курсор надо было сместить примерно на 50 пикселей вправо и 40 пикселей вниз. Находим в коде строку, которая отвечает за нажатие кнопки Play, и добавляем два аргумента функции:
    1718025769162.png


    Теперь курсор будет кликать на 50 пикселей правей и на 40 ниже
    * Если курсор надо сместить влево, пишите отрицательное значение пикселей для первого аргумента. Чтобы сдвинуть вверх, пишите отрицательное значение пикселей для второго аргумента.

    4. Если бот неправильно нажал один раз, то дальше он продолжит также, поэтому нужно перезапустить бота, исправить ошибки и запустить заново.

    Всем спасибо за прочтения моей статьи , строго не судите . Старался задеть все важные моменты ,если возникнут вопросы то я с радостью помогу в тг @q2esmm.

    А так же если хотите отблагодарить молодого кодера то снизу кош

    BTC - bc1qj3r8znsscg2ywjq8kzqxegmzel2uxkd9vnz2f3
    ETH - 0xf651a3889d80b6946bF54eF118F6FE554bFC41af
    USDT - 0xf651a3889d80b6946bF54eF118F6FE554bFC41af

    Если есть какие то идеи которые я смогу реализовать то буду рад выслушать .
 
Сверху Снизу