Chạy KPI CodePTIT
@Author: n0xgg04
@Version: 2.0
Đảm bảo đã cài đặt sẵn NodeJS
- Install package
- PULL CODE
Clone code về bằng cách tải Zip hoặc chạy cli:
git clone https://github.com/n0xgg04/CODE_PTIT_SUBMIT_2.0.git
sau đó mở thư mục chứa code (chứa file .env
) trong VSCode
Cài đặt các lib cần thiết để chạy tool:
npm i -g yarn ts-node
yarn install
Mở file .env
LIMIT_TASK=30
INIT_COUNT=0
DELAY_LOW=5
DELAY_HIGH=10
CODEPTIT_USERNAME=
CODEPTIT_PASSWORD=
COURSE_ID=759
COURSE_SUBMIT_ID=4
LANG_EXT=py
Mô tả:
LIMIT_TASK
: Số bài giới hạn, tool sẽ tự dừng nếu đạt giới hạn nàyINIT_COUNT
: Bộ đếm khởi tạo (Đếm số lượng bài từ ?)DELAY_LOW
vàDELAY_HIGH
: Thời gian nghỉ sau mỗi lần sub bài thành công (tính bằng phút), sẽ ngẫu nhiên từDELAY_LOW
tớiDELAY_HIGH
CODEPTIT_USERNAME
: Tên đăng nhập codeptitCODEPTIT_PASSWORD
: Mật khẩu đăng nhậpCOURSE_ID
: Mã môn họcCOURSE_SUBMIT_ID
: Mã ngôn ngữ khi submit
Để lấy mã môn học, bạn có thể truy cập trang chủ codeptit (danh sách bài), ấn F12 (Developer Tool/ Inspect) > Console và paste đoạn mã sau:
JSON.stringify(Array.from(document.querySelectorAll('select#course option')).filter(i => !!i.getAttribute('value')).map(i => ({
name: i.text,
course_id: i.getAttribute('value')
})))
và ấn enter, kết quả có dạng
'[{"name":"Lập trình hướng đối tượng - Nhóm 12","course_id":"744"},{"name":"Lập trình với Python - Nhóm 08","course_id":"759"},{"name":"Thuật toán và ứng dụng nâng cao - Nhóm THUẬT TOÁN NÂNG CAO - 2024","course_id":"732"}]'
Lấy course_id
tương ứng với tên môn và để vào .env
Nếu không thấy course_id
của môn bạn cần, hãy để rỗng
Để lấy mã ngôn ngữ, hãy ấn vào 1 bài bất kỳ ở code ptit, và paste đoạn mã sau vào Console
JSON.stringify(Array.from(document.querySelectorAll('select#compiler option')).filter(i => !!i.getAttribute('value')).map(i => ({
name: i.text,
lang_id: i.getAttribute('value')
})))
- Tìm 1 source nào tín tín, có tên file chứa mã bài (Ví dụ:
HELLOJAR.java
,HELLOJAR - BAITAP.java
,...) miễn là chứa mã bài, tải đủ về - Copy source vào thư mục
/src/resources/code
Tool sẽ lấy tool từ đây và tự động nộp
Chạy tool bằng lệnh
yarn start
Khi chạy code, nếu hiển thị đúng số lượng bài đã làm, ví dụ:
Login success!
> Total problems: 292
> Incomplete problems: 117
> Complete problems: 175
Start auto submit code! Delay: 5 - 10 minutes
Submitting problemID : J05018, problemName: BẢNG ĐIỂM HỌC SINH
Submit code success!
Submitted 2/30 times
Waiting 9 minutes to submit next code!
thì là đã thành công, bạn chỉ cần treo máy.
Nếu hiển thị sai, thường là hiện 0, hãy thử lại bằng cách ấn Ctrl
+ C và start lại cho tới khi hiện đúng