ATF Bot Automation v2 hoạt động như thế nào
ATF Bot Automation v2 là một bot Node.js tương tác với Telegram Mini App ATF thông qua các tệp phiên SQLite Telethon đang hoạt động. Thay vì lưu Telegram.WebApp.initData trong một tệp truy vấn tĩnh, bot yêu cầu một Telegram WebView mới trong mỗi chu kỳ và sử dụng dữ liệu khởi tạo mới do Telegram trả về.
Bot hỗ trợ nhiều tài khoản và có thể xử lý đăng nhập ATF, tạo và xác minh ví TON, nhận phần thưởng khai thác, các nhiệm vụ động, đăng ký giới thiệu, thống kê tài khoản, thay thế ví và rút ATF. Bot quét lại thư mục phiên trong mỗi chu kỳ, vì vậy có thể phát hiện các tài khoản mới được thêm mà không cần thay đổi mã nguồn.
Tính năng chính
- Telegram WebView và dữ liệu khởi tạo Mini App mới trong mỗi chu kỳ.
- Chỉ đọc các cơ sở dữ liệu phiên SQLite Telethon, với khóa xác thực được sao chép tạm thời vào bộ nhớ.
- Tự động tạo địa chỉ ví TON v4r2 mainnet thực.
- Ký TON Proof và xác minh ví thông qua endpoint
sync_walletcủa ATF. - Các worker ví xếp hàng cho những tài khoản nhận phản hồi tạm thời
busyhoặc phản hồi đã được lưu vào bộ nhớ đệm/loại trùng. - Phát hiện nhiệm vụ động bằng cách phân tích cấu hình frontend ATF với Acorn mà không sử dụng
eval. - Worker nhiệm vụ và trạng thái thiết lập ban đầu độc lập cho từng phiên.
- Đăng ký giới thiệu thông qua Telegram
messages.StartBot, bao gồm xử lý Turnstile. - Cấu hình proxy HTTP hoặc HTTPS riêng cho từng tài khoản khi gửi yêu cầu ATF.
- Bảng điều khiển Textual để tự động hóa trực tiếp và một bảng thống kê chỉ đọc riêng biệt.
- Rút tiền tuần tự với kiểm tra số dư, giải CAPTCHA hình ảnh, xoay vòng proxy và báo cáo lịch sử rút tiền.
- ID yêu cầu ổn định, cơ chế thử lại có kiểm soát, tắt máy nhẹ nhàng và lọc các giá trị nhạy cảm trong log.
Yêu cầu
Chuẩn bị các thành phần sau trước khi cài đặt dự án:
- Node.js 22.5 trở lên.
- Telegram API ID và API hash của riêng bạn từ https://my.telegram.org/apps.
- Ít nhất một tệp phiên SQLite Telethon đang hoạt động với phần mở rộng
.session. - Python 3 nếu bạn muốn sử dụng bảng điều khiển Textual hoặc trình giải Turnstile cục bộ.
Cảnh báo bảo mật: Không bao giờ chia sẻ Telegram API hash, các tệp phiên Telethon, thông tin xác thực proxy,.envhoặcwallets-accounts.json. Tệp ví chứa mnemonic và khóa riêng tư dạng văn bản thuần, cho phép kiểm soát hoàn toàn mọi ví được lưu trong đó.
Cài đặt và cấu hình bot
1. Cài đặt các dependency Node.js
Mở PowerShell tại thư mục gốc của dự án và cài đặt các gói:
npm install
Copy-Item .env.example .env
2. Thêm thông tin xác thực Telegram API
Chỉnh sửa .env và nhập thông tin xác thực được cấp cho ứng dụng Telegram của bạn:
TELEGRAM_API_ID=12345678
TELEGRAM_API_HASH=your_api_hash
Các thông tin xác thực này phải thuộc về bạn. Không commit tệp môi trường đã hoàn thiện vào hệ thống kiểm soát phiên bản.
3. Thêm các phiên Telethon
Đặt tất cả tệp phiên SQLite đang hoạt động vào thư mục session. Tên tệp sẽ trở thành nhãn tài khoản được bot hiển thị.
session/
├── account1.session
├── account2.session
└── account3.session
Thư mục được quét trong mỗi chu kỳ. Các cơ sở dữ liệu phiên được mở ở chế độ chỉ đọc và quyền truy cập vào phiên của cùng một tài khoản được xếp hàng để ngăn các thao tác đồng thời xung đột.
4. Cài đặt tùy chọn bảng điều khiển Textual
Tùy chọn tự động hóa chính có thể hiển thị bảng điều khiển Textual màu xanh navy, tím violet và san hô. Cài đặt các dependency Python một lần:
python -m pip install -r requirements-textual.txt
Nếu Python được cài đặt tại vị trí không chuẩn, hãy đặt ATF_PYTHON thành đường dẫn đầy đủ đến python.exe.
Chạy bot
Khởi động menu tương tác bằng:
npm start
Menu cung cấp các quy trình sau:
[1] Run BOT
[2] Register accounts with referral code
[3] Replace TON wallet
[4] Check account statistics
[5] Withdraw ATF
[0] Exit
Chạy quy trình tự động hóa chính
Chọn tùy chọn 1 để khởi động các worker Node.js cùng bảng điều khiển Textual. Bảng điều khiển báo cáo tên người dùng Telegram, cấp độ, ATF đã khai thác, số dư ATF, phần thưởng đang chờ, trạng thái ví, trạng thái khai thác, lượt nhận nhiệm vụ, thời gian đếm ngược nhiệm vụ, kết quả giới thiệu, thông tin Team Wallet, kết nối và tổng kết chu kỳ.
Các phím điều khiển hữu ích trên bảng điều khiển:
q: dừng nhẹ nhàng và thoát.p: tạm dừng hoặc tiếp tục các worker.r: làm mới thống kê cho tất cả tài khoản song song.c: xóa bảng log.PgUpvàPgDn: cuộn qua các log.gvàShift+G: chuyển đến đầu hoặc cuối log.
Bảng điều khiển tự động làm mới trạng thái tài khoản theo dashboard_refresh_interval_minutes, với giá trị mặc định là 10 phút. Để khởi chạy trực tiếp, hãy sử dụng:
npm run dashboard
Để sử dụng log terminal tiêu chuẩn không có Textual, hãy chạy:
npm run start:run
Đây cũng là điểm khởi chạy phù hợp cho các trình lập lịch và quy trình không tương tác.
Cách thiết lập ví TON
Sau khi tài khoản đăng nhập, bot kiểm tra các trường wallet_address và wallet_verified trên máy chủ ATF. Nếu chưa có ví đã xác minh, bot thực hiện theo trình tự sau:
- Tạo ví TON v4r2 cho mainnet.
- Lập tức lưu địa chỉ, cụm từ ghi nhớ 24 từ và khóa riêng tư vào
wallets-accounts.json. - Yêu cầu payload TON Proof chính thức từ ATF.
- Ký proof cho miền WebApp của ATF.
- Gửi proof đến
sync_wallet. - Chỉ chuyển sang câu hỏi bảo mật và đào sau khi xác minh thành công.
Bản ghi ví được ghi trước khi bắt đầu xác minh. Vì vậy, phản hồi busy tạm thời hoặc tài khoản được trì hoãn không khiến ví mới tạo bị mất.
Nếu ATF trả về busy hoặc phản hồi đã lưu vào bộ nhớ đệm/đã loại bỏ trùng lặp trong khi ví vẫn chưa được xác minh, tiến trình chính sẽ thử lại một lần sau wallet_busy_retry_seconds, mặc định là 15 giây. Nếu tài khoản vẫn bận, tài khoản sẽ được chuyển cho một wallet worker để tiến trình chính có thể tiếp tục.
Tối đa wallet_worker_concurrency tác vụ ví chạy song song, mặc định là 10. Các tài khoản bổ sung sẽ vào hàng đợi FIFO. Mỗi phiên chỉ được phép có một wallet worker đang hoạt động hoặc đang chờ.
Ví được tạo là một địa chỉ ví thực, nhưng chưa được triển khai trên chuỗi cho đến khi được sử dụng trong một giao dịch trên chuỗi. Hãy lưu trữ wallets-accounts.json an toàn và sao lưu cẩn thận. Bất kỳ ai có tệp này đều có thể kiểm soát các ví.
Các bản ghi cũ chứa encrypted_secrets sẽ được chuyển sang định dạng văn bản thuần khi bot lần đầu mở chúng. WALLET_KEYSTORE_PASSWORD trước đây chỉ cần thiết cho quá trình chuyển đổi này.
Cấu hình đăng ký giới thiệu
Thêm mã giới thiệu vào config.json khi bạn muốn tùy chọn 2 đăng ký tài khoản mới:
{
"referral_code": "610911604"
}
Đối với mỗi phiên chưa từng được xử lý bằng mã đó, bot gọi Telegram messages.StartBot, mở WebView bằng cùng tham số bắt đầu và gửi ref_code trong quá trình đăng nhập ATF. Kết quả thành công được ghi dưới dạng hash trong .state/referrals.json, ngăn không cho cùng một thao tác StartBot được lặp lại ở mỗi chu kỳ.
Chế độ giới thiệu chỉ xử lý việc đăng ký giới thiệu. Việc tạo và lưu trữ ví vẫn thuộc quy trình tự động chính trong tùy chọn 1. Các tài khoản hiện có thường không thể thay thế người mời đã được máy chủ ghi nhận.
Chạy đăng ký giới thiệu trực tiếp mà không cần menu tương tác bằng lệnh:
npm run register-referral
Sử dụng MultiBot cho Turnstile
Nếu tài khoản mới nhận được thử thách Cloudflare Turnstile, bot có thể lấy site_key chính thức từ ATF và yêu cầu token từ MultiBot. Thêm khóa API vào .env:
MULTIBOT_API_KEY=your_api_key
Proxy tài khoản không được gửi đến MultiBot theo mặc định. Nếu việc giải thử thách phải sử dụng cùng địa chỉ IP proxy, hãy bật:
MULTIBOT_USE_ACCOUNT_PROXY=1
Bật cài đặt này sẽ gửi địa chỉ và thông tin xác thực proxy của tài khoản đến MultiBot. Hãy cân nhắc việc để lộ thông tin đó trước khi sử dụng tùy chọn này.
Chạy trình giải Turnstile cục bộ
Trình giải cục bộ đi kèm chỉ liên kết với 127.0.0.1:8000. Trên Windows, hãy cài đặt Python 3 và chuẩn bị trình giải từ thư mục gốc của dự án:
py -3 -m venv local-solver\.venv
local-solver\.venv\Scripts\python.exe -m pip install -r local-solver\requirements.txt
local-solver\.venv\Scripts\python.exe -m camoufox fetch
cd local-solver
.venv\Scripts\python.exe api_server.py --yes
Giữ mở cửa sổ terminal đó. Trong một terminal khác, chạy bot, chọn tùy chọn 2 và chọn trình giải cục bộ. Để chạy không tương tác, hãy cấu hình:
TURNSTILE_SOLVER=local
LOCAL_TURNSTILE_SOLVER_URL=http://127.0.0.1:8000
Áp dụng tùy chỉnh cho từng tài khoản
Sao chép account-overrides.example.json thành account-overrides.json khi các phiên riêng lẻ cần cài đặt khác nhau. Ví dụ:
{
"account1.session": {
"enabled": true,
"proxy": "http://username:password@127.0.0.1:8080",
"ready_task_ids": ["telegram_join"]
}
}
enabledbật hoặc tắt phiên.proxythiết lập proxy HTTP hoặc HTTPS cho các yêu cầu ATF. Telegram MTProto vẫn sử dụng kết nối trực tiếp.ready_task_idsxác định các tác vụ một lần đã được hoàn thành thực sự bằng thủ công và hiện có thể được bot nhận.
Tệp tùy chỉnh, proxy, tệp môi trường, bộ nhớ đệm, trạng thái và các tệp phiên đều bị Git bỏ qua.
Cấu hình tác vụ động
ATF không cung cấp endpoint danh sách tác vụ. Thay vào đó, frontend của nó chứa tasksConfig dưới dạng JavaScript nội tuyến trong index.html. Bot tải trang đó xuống và phân tích cây cú pháp trừu tượng bằng Acorn mà không thực thi mã. Bot chỉ trích xuất ID tác vụ, tiêu đề, phần thưởng, liên kết, thời gian hồi chiêu, thời lượng tối thiểu và trạng thái cần xem xét thủ công.
Nếu không thể tải trang, bot sử dụng bộ nhớ đệm mới nhất. Nếu cả frontend lẫn bộ nhớ đệm đều không khả dụng, việc nhận tác vụ sẽ bị vô hiệu hóa trong chu kỳ đó thay vì sử dụng phương án dự phòng được mã hóa cứng.
Đặt chế độ tác vụ trong config.json thành một trong các giá trị sau:
off: không đọc hoặc xử lý tác vụ.report: hiển thị các tác vụ khả dụng mà không bắt đầu hoặc nhận chúng.claim_ready: đăng ký các lần nhấp liên kết bằngstart_task, bắt đầu các tác vụ đủ điều kiện, chờ từng khoảng thời gianminSecondssong song và nhận tác vụ khi sẵn sàng.
Các tác vụ được liệt kê trong ready_task_ids sẽ vào hàng đợi nhận mà không bị khởi động lại. Sau khi đăng nhập ban đầu tuần tự, mỗi tài khoản nhận một worker tác vụ độc lập. Worker sẽ ngủ cho đến khi hết thời gian chờ của tài khoản đó, tải lại trạng thái máy chủ, xử lý các tác vụ sẵn sàng và lên lịch chạy tiếp theo dựa trên phản hồi mới nhất.
Nếu không thể khởi động hoặc nhận một tác vụ sẵn sàng, số lần thử lại được giới hạn bởi task_ready_retry_seconds, mặc định là 60 giây. Điều này ngăn vòng lặp thử lại quá dày. Cài đặt loop_interval_hours chỉ áp dụng cho các chu kỳ nhận phần thưởng đào, không áp dụng cho việc lên lịch tác vụ.
Thay thế ví TON an toàn
Chọn tùy chọn 3 hoặc chạy npm run replace-wallets từ một terminal tương tác để quét các phiên có thể cần thay thế ví. Các tài khoản đã có mnemonic và khóa riêng hợp lệ trong wallets-accounts.json sẽ được bỏ qua.
Đối với các ví đã xác minh nhưng không có thông tin bí mật cục bộ, bot không thể xác định ví đó đến từ bản cài đặt bot cũ bị mất bản sao lưu hay từ một ví bên ngoài. Vì vậy, bot sẽ hiển thị tên người dùng và địa chỉ đã che bớt, rồi yêu cầu xác nhận cho từng tài khoản:
- Nhập
yđể thay thế ví. - Nhấn Enter hoặc
nđể bỏ qua. - Nhập
qđể hủy phần quét còn lại.
Sau khi được phê duyệt, ví mới và mnemonic được lưu trước khi ATF được cập nhật nguyên tử thông qua sync_wallet và TON Proof. Tài sản trên chuỗi trong ví cũ sẽ không được chuyển đi. Các lần thay thế đang bận được lưu dưới dạng replacement_pending và được tối đa năm worker thử lại sau khi quét. Có thể tiếp tục các lần thay thế bị gián đoạn bằng cách chạy lại tùy chọn 3.
Kiểm tra thống kê tài khoản
Tùy chọn 4 hoặc npm run stats sẽ mở bảng điều khiển kiểm tra chỉ đọc. Bảng điều khiển thực hiện đăng nhập mới, gọi sync_wallet và đọc get_withdraw_history. Mức đồng thời được kiểm soát bởi stats_worker_concurrency và bị giới hạn ở năm worker.
Bảng điều khiển hiển thị tên người dùng, địa chỉ ví, số dư ATF, số dư đã đào, trạng thái cấm, điểm rủi ro, trạng thái mua DEX đủ điều kiện, các lượt rút đang chờ, trạng thái rút mới nhất và FRAUD MASK từ masked_auto_fraud. Các trạng thái rút bao gồm NONE, PENDING, APPROVED, KYC/VERIFY, FAILED và UNAVAILABLE. Trạng thái KYC và mặt nạ gian lận là hai tín hiệu riêng biệt.
Nhấn r để chạy lại kiểm tra hoặc q để thoát.
Rút ATF
Tùy chọn 5 xử lý các tài khoản tuần tự và yêu cầu một lần xác nhận trước khi bắt đầu vì máy chủ tính phí 70 ATF cho mỗi yêu cầu rút.
Đối với mỗi tài khoản, bot sẽ:
- Đăng nhập bằng một phiên mới và đọc
mined_balancecùngpending_reward. - Nhận mọi phần thưởng đang chờ.
- Đăng nhập lại để làm mới số dư đã đào.
- Bỏ qua tài khoản nếu số dư dưới 500 ATF hoặc ví chưa được xác minh.
- Làm tròn toàn bộ số dư đã đào đủ điều kiện xuống bốn chữ số thập phân.
- Giải CAPTCHA hình ảnh và gửi yêu cầu rút.
- Đọc lịch sử rút và báo cáo trạng thái cuối cùng hiện có.
Thêm khóa 2Captcha vào .env cho trình giải ImageToTextTask:
TWOCAPTCHA_API_KEY=your_api_key
Bot áp dụng khoảng dao động chính thức từ 1.2 đến 2 giây của frontend trước khi gửi. CAPTCHA thất bại hoặc bị từ chối sẽ khiến bot yêu cầu thử thách mới, tối đa là giá trị nhỏ hơn giữa withdraw_captcha_max_attempts, với giới hạn tối đa là ba, và attempts_left của máy chủ.
Phản hồi retry_after_seconds, khóa rút hoặc việc hết số lần thử của máy chủ sẽ dừng các lần thử lại cho tài khoản đó. Chạy trực tiếp chức năng rút bằng:
npm run withdraw
Sử dụng proxy cho việc rút
Nếu proxy.txt hoặc proxies.txt chứa proxy, chế độ rút sẽ tạo một nhóm duy nhất cho toàn bộ lô xử lý. Mỗi proxy chỉ có thể được chọn một lần, ngay cả khi bị lỗi, và không bao giờ được gán lại cho tài khoản khác trong cùng lô.
Lỗi mạng trong quá trình đăng nhập, nhận phần thưởng, làm mới số dư, lấy CAPTCHA, gửi yêu cầu hoặc lấy lịch sử sẽ chuyển tài khoản sang proxy khỏe mạnh chưa được sử dụng tiếp theo. Khi có nhóm proxy, chức năng rút sẽ không âm thầm chuyển về IP trực tiếp. ID yêu cầu nhận và rút vẫn giữ nguyên trong quá trình chuyển proxy để giảm nguy cơ thực hiện hành động trùng lặp.
Cung cấp ít nhất một proxy duy nhất cho mỗi tài khoản cùng các proxy bổ sung cho việc thử lại. Nếu nhóm proxy cạn, tài khoản hiện tại sẽ thất bại và quá trình xử lý tiếp tục với tài khoản kế tiếp.
Mẹo nâng cao về độ tin cậy và bảo mật
- Giữ
wallets-accounts.jsonbên ngoài các vị trí dùng chung hoặc đồng bộ, trừ khi nơi lưu trữ được bảo vệ phù hợp. - Sao lưu an toàn các thông tin bí mật của ví trước khi thay thế ví hoặc di chuyển bản cài đặt.
- Chỉ sử dụng
ready_task_idscho các tác vụ thực sự đã được hoàn thành thủ công. - Lưu ý rằng proxy của tài khoản ảnh hưởng đến các yêu cầu HTTP ATF, không ảnh hưởng đến kết nối Telegram MTProto trực tiếp.
- Cấu hình đủ proxy rút riêng biệt vì các proxy đã dùng và bị lỗi sẽ không được tái sử dụng trong cùng một lô.
- Sử dụng
Ctrl+Cđể tắt mềm. Bot sẽ dọn dẹp các kết nối và không bắt đầu tài khoản khác sau khi nhận tín hiệu tắt. - Kiểm tra bản tóm tắt theo từng tài khoản, trong đó phân biệt các kết quả
success,partialvàfailed.
Dự án giới hạn các đích đến API và WebApp thông qua allowed_hosts và yêu cầu HTTPS. Dự án không tự động theo các chuyển hướng HTTP. Các phản hồi HTTP 401 và 403 không được thử lại, trong khi các phản hồi HTTP 429 và 5xx sử dụng cơ chế lùi cấp số nhân kèm độ nhiễu.
ID yêu cầu vẫn ổn định qua các lần thử lại để máy chủ có thể xử lý các hành động lặp lại theo cách bất biến. Các phản hồi nghiệp vụ như thời gian hồi chiêu và already claimed không được xem là lỗi mạng. Các proxy liên tục gặp lỗi trong quá trình đăng nhập ATF sẽ tạm thời bị cách ly, và bot không âm thầm chuyển sang IP trực tiếp.
Token phiên, dữ liệu khởi tạo, hàm băm và mật khẩu proxy được ẩn khỏi nhật ký. ID thiết bị ổn định được lưu theo ID Telegram trong .state/device-ids.json. Bot cũng tải lại config.json, các phiên, proxy và cấu hình ghi đè tài khoản ở mỗi chu kỳ.
Khi việc đào yêu cầu câu hỏi bảo mật, các phép tính số học cơ bản được nhận diện sẽ tự động giải. Những định dạng không xác định sẽ chuyển sang nhập thủ công trong terminal.
Xác thực cài đặt
Chạy các bước kiểm tra và kiểm thử của dự án sau khi thiết lập hoặc thay đổi cấu hình:
npm run check
npm test
Kết luận
ATF Bot Automation v2 kết hợp xác thực Telegram WebView mới với tính năng tự động hóa ATF đa tài khoản, xác minh ví TON, tác vụ động, giới thiệu, kiểm tra tài khoản và rút tiền có kiểm soát. Hãy bắt đầu bằng các phiên Telethon hợp lệ và thông tin xác thực Telegram được bảo vệ, xác minh quy trình chính với một số lượng nhỏ tài khoản, đồng thời xem wallets-accounts.json là một bí mật có giá trị cao vì tệp này chứa quyền truy cập trực tiếp vào mọi ví được tạo.
