⚗️Somnia (RU)

⚙️ Установка

Требования:

Python версии 3.11.6 - 3.11.11

Скачивание:

  1. Клонируйте репозиторий:

    git clone https://github.com/neLNABR/Somnia-Auto.git
    cd Somnia
  2. Создайте виртуальное окружение:

    python -m venv venv
    venv\Scripts\activate
  3. Установите зависимости:

    pip install -r requirements.txt
  4. Запустите приложение:

    python main.py

📁 Подготовка (папка data)

Создайте папку data со следующими файлами:

  • private_keys.txt: приватные ключи кошельков (по одному на строку).

  • proxies.txt: HTTP-прокси в формате user:pass@ip:port. Если прокси меньше, чем аккаунтов, они будут повторяться.

  • discord_tokens.txt: токены Discord (по одному на строку).

  • twitter_tokens.txt: токены Twitter (по одному на строку). Дополнительные токены будут заменять сбойные при установке REPLACE_FAILED_TWITTER_ACCOUNT в true.

  • random_message_quills.txt: (опционально) сообщения для функции quills_chat.

📝 Config.yaml

THREADS: количество одновременных аккаунтов. asdasdas

ATTEMPTS: число повторных попыток при ошибках.

ACCOUNTS_RANGE: диапазон аккаунтов для обработки (например, [3, 6]).

EXACT_ACCOUNTS_TO_USE: точные номера аккаунтов, работает если ACCOUNTS_RANGE равен [0, 0].

SHUFFLE_WALLETS: обработка кошельков в случайном порядке, если значение true.

PAUSE_BETWEEN_ATTEMPTS: пауза между повторными попытками (например, [3, 10] секунд).

PAUSE_BETWEEN_SWAPS: пауза между транзакциями (например, [3, 10] секунд).

RANDOM_PAUSE_BETWEEN_ACCOUNTS: пауза между обработкой аккаунтов (например, [3, 10] секунд).

RANDOM_PAUSE_BETWEEN_ACTIONS: пауза между задачами (например, [3, 10] секунд).

RANDOM_INITIALIZATION_PAUSE: пауза перед стартом аккаунта (например, [5, 60] секунд).

SEND_TELEGRAM_LOGS: отправка логов в Telegram (true или false).

TELEGRAM_BOT_TOKEN: токен Telegram-бота, созданного через @BotFather.

TELEGRAM_USERS_IDS: ID пользователей Telegram, которым отправлять логи.

FLOW

  • SKIP_FAILED_TASKS: пропускать ли задачи с ошибками (true) или остановить выполнение (false).

RPC:

  • SOMNIA: список RPC-серверов (например, ["https://dream-rpc.somnia.network"]).

OTHERS

  • SKIP_SSL_VERIFICATION: игнорирование проверки SSL (true или false).

  • USE_PROXY_FOR_RPC: использование прокси для RPC (true или false).

SOMNIA_NETWORK:

SOMNIA_SWAPS: BALANCE_PERCENT_TO_SWAP: [5, 10] - какой процент от баланса использовать для свапов.

NUMBER_OF_SWAPS: [1, 3] - сколько делать свапов, рандомное число от и до.

SOMNIA_TOKEN_SENDER Используется для функции "send_tokens". BALANCE_PERCENT_TO_SEND: [5, 10] - какой процент от баланса использовать для отправки.

NUMBER_OF_SENDS: [1, 1] - количество трансферов/транзакций на каждый запуск. От и до рандом число.

Конфиг можно настраивать как через текстовый документ в файле config.yaml, так и через веб интерфейс (пример на скриншоте внизу). В случае, если веб конфиг из меню не работает по каким-то причинам, вы всегда можете редактировать его вручную в файле config.yaml.

Для запуска веб интерфейса необходимо запустить бота командой python main.py и выбрать пункт меню [2] Edit config. После этого бот запустит конфиг по URL адресу http://127.0.0.1:3456 который вы можете открыть в любом браузере у себя на ПК и настраивать конфиг оттуда. По умолчанию бот сам открывает веб браузер с нужным URL. Данный конфиг и вебсайт запускается и работает локально у вас на ПК.

После настройки функций в конфиге нажми кнопку Save Configuration в верхнем правом углу страницы. Для выхода из конфига вернитесь в консоль и несколько раз нажмите CTRL + C, либо же просто закройте консоль.

💾 База данных

Вся работа в боте управляется непосредственно через базу данных. База данных создается и хранится в папке /data под именем accounts.db. Открыть её вручную вы можете через специальные программы для SQL по типу DB Browser for SQLite.

Чтобы начать работу и создать базу данных необходимо запустить бота командой python main.py и выбрать пункт меню [3] 💾 Database actions. Дальше опишу каждую из функций.

[1] 🗑 Create/Reset Database. Самая основная функция, которая создает новую базу данных либо перезаписывает уже существующую. Необходимо использовать при первом запуске бота, либо когда хотите перезаписать кошельки, прокси, либо задачи для кошельков.

[2] ➕ Generate New Tasks for Completed Wallets. Используется для генерации новых заданий для кошельков, которые выполнили свои предыдущие задания. Пример: может быть такое, что часть ваших кошельков выполнила все действия, часть еще имеет незаконченные задания. Чтобы не перезаписывать ВСЕ задания и дать части кошельков возможность закончить их цепочку, вы можете выбрать эту функцию и она обновит задания только для кошельков, которые уже не имеют задач.

[3] 📊 Show Database Contents. Выводит на экран содержимое базы данных. Кошельки, прокси, задачи и тд.

[4] 🔄 Regenerate Tasks for All Wallets. Пересоздает задания для ВСЕХ кошельков в базе.

[5] 📝 Add Wallets to Database. Добавляет новые кошельки в базу данных. К примеру у вас в базе есть 10 кошельков, вы в data/private_keys.txt вставляете новые кошельки и хотите добавить их в базу данных. Чтобы не перезаписывать всю базу, можете воспользоваться этой функцией и она просто добавит новые кошельки в базу.

▶️ Использование

Перед запуском бота необходимо открыть файл tasks.py в главной папке проекта и там настроить порядок выполнение действий как указано в примере.

После этого можно запускать бота командой python main.py В меню необходимо выбрать 3 после чего откроются настройки базы данных. Для первого запуска нажмите 1 (Create/Reset Database) и бот создает базу данных в папке data. Для каждого ключа будут сгенерированы маршруты действий. Так же в этом меню вы сможете смотреть посмотреть оставшиеся задания, пересоздать базу и тд. Теперь можно выходить в меню кнопкой 6 и запускать бота - 1.

✅ Tasks

Инструкция по тому как переключать модули в боте

Для того чтобы переключить модуль, вам нужно в папке с ботом найти файл под названием tasks.py, открыть его при помощи редактора кода либо обычного блокнота, в файле вы увидите переменную TASKS которая выглядит так:

TASKS Это список пресетов, пресет это список из модулей, которые будет запускать бот.

Пример пресета внутри которого есть модуль:

Как видите FAUCET это лишь название пресета, которое может быть какое угодно, а внутри него модуль "faucet", который отвечает за запуск крана.

Вы можете создать свой пресет, просто написав любое название к примеру:

Внутри него вы можете добавить какие модули вы хотите использовать пример dusted, итого:

Затем чтобы запустить данный пресет, вы копируете его название и вставляете в TASKS, итого:

В пресете вы можете использовать разные типы рандомизации. К примеру квадратные скобки будут означать, что бот выберет один модуль из всех что внутри них, в нашем случае либо dusted, либо ambient

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

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

Last updated