⚗️Somnia (RU)
⚙️ Установка
Требования:
Python версии 3.11.6 - 3.11.11
Скачивание:
Клонируйте репозиторий:
git clone https://github.com/neLNABR/Somnia-Auto.git cd Somnia
Создайте виртуальное окружение:
python -m venv venv venv\Scripts\activate
Установите зависимости:
pip install -r requirements.txt
Запустите приложение:
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