🔴 Bộ hẹn giờ đang chạy và còn bài chờ, nhưng
24 giờ qua không đăng được bài nào. Tiến trình sống không có nghĩa là hệ thống
chạy — xem 📘 Trang FB để biết bài đang tắc ở đâu.
⚠ Bộ hẹn giờ không chạy — không bài nào được đăng.
Chạy python main.py scheduler.
Phân bố hàng đợi
Sức khoẻ page
Sức khoẻ theo nhóm
Sửa token xong thì điều gì xảy ra?
Bế tắc không phải một khối mà là ba khối tách rời, mỗi khối một cách gỡ.
Gộp lại thì tưởng “sửa token là xong”.
bài đăng được ngay
khi gắn lại token cho page token chết.
Code làm được — cần bạn lấy System User token mới.
bài kẹt vì checkpoint
page cần bạn vào facebook.com xác minh
tài khoản. Token mới KHÔNG cứu được.
page khoẻ nhưng RẢNH
token sống nhưng không có bài nào trong hàng đợi → không đăng gì.
Sửa token không cứu được — lên lịch từ 📚 Kho nội dung hoặc 🎬 Nguồn video.
Xem page rảnh
Page
Đăng gần nhất
Việc chạy theo lịch
“Bật” chỉ nói ý định. Cột chạy gần nhất mới nói sự thật — một việc bật mà mốc
không tiến là việc đó không chạy, hoặc chạy mà không bao giờ xong.
Việc
Trạng thái
Chạy gần nhất
Cách đây
Chu kỳ
🛡Đang quản lý trang·
· phải xử lý trên facebook.com
Không có page nào khớp bộ lọc.
Lúc
Trạng thái
Nguồn
Ghi chú
Chưa có lần kiểm tra nào được lưu.
Trang có nhiều token thì một nguồn chết vẫn đăng được bằng nguồn còn lại.
Dòng đầu là token hệ thống đang thật sự dùng.
đang dùng
Business Manager
⚠ Trang này chỉ có 1 token. Thêm token nguồn khác ở
🔑 Token & Page rồi bấm “Gắn lại page” để có dự phòng.
⛔ Bộ hẹn giờ đang TẮT. Xếp bài vào hàng đợi bây giờ thì bài sẽ nằm im —
không có tiến trình nào đăng chúng. Bật ở 🏠 Trang chủ trước.
Được nối vào CUỐI nội dung lúc gửi đi — khung xem trước bên phải hiện đúng thứ sẽ
đăng. Để trống thì không nối gì.
Tự đăng ngay sau khi bài lên. Nếu bình luận lỗi thì bài vẫn giữ nguyên, chỉ ghi
cảnh báo — không đăng lại bài.
Đang tải lên…
Ảnh jpg/png/webp · Video mp4/mov · tối đa 200 MB.
File tải lên được ưu tiên hơn URL.
🎬 Dựng Reel từ ảnh
Ghép nhiều ảnh thành video dọc 9:16 (kèm nhạc nếu
muốn), rồi dùng luôn làm file đăng. Cần FFmpeg trên máy.
⚠ Máy chưa cài FFmpeg — không dựng được Reel.
Đang tải lên…
Nhạc phải được phép dùng — nhạc lậu bị
Facebook đánh gậy.
Video này đã được chọn làm file đăng.
Chưa có nhóm nào.
Số trong ngoặc là page đăng được / tổng page của nhóm. Nhóm ghi
0/N nghĩa là mọi page trong đó đang token chết — xếp hàng vẫn được, nhưng bài
sẽ nằm lỗi tới khi token được sửa.
Đã chọn page (đã khử trùng) —
page đăng được ngay,
page chưa đăng được.
⛔ Không page nào trong lựa chọn này đăng được. Xếp hàng đợi bây giờ chỉ tạo ra
một đống bài lỗi. Sửa token trước ở 🔑 Token & Page, hoặc chọn nhóm khác.
Xem trước
👍 Thích💬 Bình luận↗ Chia sẻ
Chưa chọn trang nào — hãy chọn nhóm hoặc trang ở cột bên trái.
Bài thủ công / từ kho nội dung
là những dòng trong bảng dưới
Chờ đăng
đang đăng:
Lỗi / bỏ cuộc
cho chạy lại được ·
đã bỏ cuộc
Từ 10/09/2026 hệ thống chỉ còn MỘT hàng đợi — bảng dưới là toàn bộ.
Hàng đợi nạp bằng tay: 📚 Kho nội dung → “Lên lịch cho nhóm”
hoặc 🎬 Nguồn video. Bảng trống nghĩa là không có gì chờ đăng.
⛔ Không page nào trong các nhóm này đăng được — xếp hàng đợi bây giờ chỉ tạo ra bài lỗi.
Rải bài theo rào nhịp — nhìn trướcngày
Mỗi nội dung dùng tối đatrang
✔ Mỗi nội dung chỉ lên một trang duy nhất — chọn
nội dung thì phục vụ được
trang.
⚠ Cùng một nội dung sẽ lên trang khác nhau —
đây là mẫu hành vi Facebook hay đánh dấu. Hệ thống sẽ hỏi lại trước khi xếp.
Mỗi trang chỉ nhận tối đa bài/ngày và
hai bài cách nhau ít nhất giờ
(dùng chung cấu hình với 🎬 Nguồn video).
Phần vượt quá sẽ KHÔNG được xếp — hệ thống báo lại
con số thật sau khi bấm.
Xem trước
Nội dung
Loại
Chủ đề
👁 View
Đã dùng
Thẻ
chữ
tạm
Kho trống. Bấm ➕ Thêm nội dung, hoặc nạp video bằng
main.py dola-nhap.
Thao tác đã ghi
Lệnh gọi Facebook (24h)
Trong đó LỖI
Thời gian gọi trung bình
Mã lỗi Facebook hay gặp (24h)
Đây là mã lỗi có cấu trúc — tra ở src/fberrors.py, đừng đoán theo câu chữ.
Lúc
Ai
Làm gì
Kết quả
Chi tiết
Chưa có thao tác nào được ghi.
Nhật ký ghi mọi thao tác làm đổi dữ liệu. Không ghi mật khẩu, token hay
app_secret — máy chủ chỉ giữ các trường trong danh sách cho phép.
Nhật ký lệnh gọi Facebook giữ 14 ngày rồi tự dọn.
Facebook chỉ trả phần trăm, không trả trần thật — nên ở đây không có
“còn bao nhiêu lượt”. Màn này không tự gọi Facebook khi mở: số liệu lấy từ
header của chính các lệnh gọi đã thực hiện.
Tốn một lệnh gọi Graph cho mỗi App (/me?fields=id — lệnh rẻ
nhất còn mang header hạn mức). Đừng bấm liên tục: đo hạn mức mà đốt hạn mức.
⚠ Điểm chết duy nhất — mọi token treo trên MỘT Facebook App.
App bị siết là trang dừng cùng lúc,
kể cả trang token còn sống. Đã xảy ra 09/09/2026.
Từng Facebook App
Facebook báo còn ~ phút nữa mới mở lại.
Ba chiều Facebook đo
Đang bị đẩy lên bởi —
token ·
trang phụ thuộc app này
Chưa có Facebook App nào. Thêm ở 🔑 Token & Page.
Ngưỡng tự hãm
Đây là ngưỡng nội bộ của ta, không phải hạn mức chính thức của Facebook.
Đăng bài không bao giờ bị hãm — tiết kiệm hạn mức bằng cách ngừng đăng
chính là tự tạo ra sự cố im lặng.
Từ % → dừng việc phụ
(insights, đọc bình luận, bản đồ Business).
Từ % → dừng cả kiểm token,
chỉ chừa đường đăng bài.
Dừng việc phụ từ (%)
Chỉ chừa đăng bài từ (%)
Ai đang tiêu hạn mức (24 giờ qua)
Xếp theo tổng thời gian gọi — chiều đã làm sập app ngày 09/09.
Cột Lỗi đáng nhìn nhất: lệnh gọi hỏng vẫn ăn hạn mức y như lệnh gọi thành công.
Nhóm endpoint
Cách gọi
Số lượt
Tổng thời gian
Trung bình
Lỗi
—
Chưa có lệnh gọi Facebook nào trong 24 giờ qua.
Bucket đang bị siết
Facebook đếm hạn mức ở nhiều tầng. Một bucket đỏ không có nghĩa cả hệ đỏ —
việc của bucket khác vẫn chạy.
—
⚠
Màn này đọc DB nội bộ, không gọi Facebook — số liệu tươi do lượt đồng bộ nạp.
Facebook App
Hạn mức x-app-usage tính theo TỪNG App. Dồn hết token vào một App là
App đó bị siết thì mọi trang dừng cùng lúc.
App
App ID
Token
Trang
🏢
Facebook App
chưa gắn App mặc định
System User
không hết hạn
chưa có System User — server không tự đăng được
Trang
Facebook còn cấp quyền / trang trên token này
trang đã bị gỡ khỏi Business
→ cấp lại quyền cho System User
Chưa có Business Manager nào.
Trang KHÔNG thuộc Business nào
trang chưa xác định Business
phần lớn vì token chết nên chưa hỏi được Facebook — chưa biết ≠ hỏng
trang treo trên token CÁ NHÂN
token hết hạn/checkpoint là mất cả cụm. Token System User mới KHÔNG cứu được —
phải đưa trang vào Business trước, rồi cấp quyền, rồi mới gắn lại token.
Gom page theo chủ đề đang dùng thật.
Chạy lại nhiều lần vô hại — chỉ thêm page còn thiếu.
Chưa có nhóm page nào.
Danh sách này thay thế TOÀN BỘ thành viên nhóm — bỏ tick là gỡ khỏi nhóm.
Page không bị xoá.
Business
Không có page nào khớp.
Chuyển
page đang tick sang
Page được chuyển sẽ bị gỡ khỏi mọi nhóm khác, kể cả nhóm đang mở.
Token nguồn
Page token sống
Page token chết
➕ Thêm token nguồn
Token được kiểm tra với Facebook trước
khi lưu — token hỏng không vào được kho.
⚠ Token cá nhân là thứ đã làm sập 99 page lần trước: nó hết hạn và kéo theo mọi
page treo trên nó. Dùng System User token nếu có thể.
🚑 Gắn token cho page (cứu page hỏng & tạo dự phòng)
Token này quản page nào thì page đó được gắn thêm một token nữa —
không xoá token cũ. Nên chọn token System User vì loại này không hết hạn.
Page có 2 token trở lên thì một nguồn chết vẫn đăng bình thường.
Trang MỚI chưa có trong hệ thống?
Nút trên chỉ gắn token cho trang đã có trong hệ thống. Token của một
Business Manager mới thì trang chưa hề có ở đây — dùng nút này để
nạp trang về rồi gắn page token luôn, chỉ một lệnh gọi Facebook.
Dùng token chọn ở ô bên trên. System User chỉ thấy trang đã nằm trong
Business Manager của nó.
Nhãn
Loại
Hết hạn
Còn lại
Page
FB còn cấp quyền
Quyền
chưa đo
App Farm
Chưa có app nào.
Business Manager
Chưa có BM nào.
Lấy App ID và App Secret ở
developers.facebook.com → app của bạn → Settings → Basic. Mỗi app có hạn mức gọi
API riêng, nên chia token sang nhiều app là cách tránh chết chùm.
Bí mật được mã hoá khi lưu, không hiện lại.
⛔ trang (và
token nguồn) đang trỏ tới proxy đã bị xoá khỏi
kho. Chúng KHÔNG báo lỗi — chỉ lặng lẽ gọi Facebook bằng IP máy chủ.
Thực tế: / trang đang thật sự đi qua proxy.
“Gỡ” chỉ xoá liên kết hỏng (trang về kết nối thẳng — đúng thứ nó đang làm sẵn),
KHÔNG tự gán proxy khác: proxy sai vùng còn dễ bị nghi hơn là không dùng proxy.
⚠ / proxy chưa
kiểm lại quá ngày.
Chấm xanh cũ trông y hệt chấm xanh vừa kiểm — bấm Kiểm tra sống/chết để biết thật.
Nhãn
GEO
Trạng thái
IP
Tốc độ
Kiểm tra lúc
Tải ảnh quote lên → tool đọc chữ (OCR bằng GPT-4o mini) → dựng lại ảnh trên nền
sạch. Mỗi lượt gọi AI tốn một khoản nhỏ tiền thật.
Ảnh dựng ra nằm trong kho media nên đem đi Đăng bài được ngay.
Mất vài chục giây — cứ để trang mở.
Ảnh gốc
Đã làm sạch — khối chữ
Chữ đọc được
🔒 Bạn chưa được giao trang nào. Insights chỉ hiện
số liệu các trang bạn phụ trách, nên hiện chưa có gì để xem —
không phải tool hỏng. Nhờ admin giao nhóm ở 👥 Nhân viên.
⛔ Chưa từng đồng bộ Insights. Mọi số ở dưới là 0 vì
chưa có dữ liệu — không phải vì không ai xem.
⛔✅
Dữ liệu Insights mới nhất là —
, có ở
/ page.
Vì thế cột lượt xem ngày hiện
0 cho mọi page: cửa sổ thống kê nằm hoàn toàn sau mốc dữ liệu cuối.
Đây không phải “không ai xem”.
Đồng bộ cần token page sống — hiện
/ page có token sống.
👤 Đang hiện số liệu trang bạn được giao
(không phải toàn hệ thống). Việc đồng bộ số liệu từ Facebook do admin chạy.
⏳
⚠️ Lượt đồng bộ đứt giữa chừng (máy chủ khởi động lại?) — số liệu đã lấy được
vẫn giữ nguyên, bấm Đồng bộ để chạy tiếp phần còn lại.
Đồng bộ chỉ ĐỌC số liệu — không đăng gì lên Facebook. Page token chết được bỏ qua,
không nã lệnh gọi chắc chắn hỏng. Mỗi lượt tốn hạn mức chung của App
( page có token sống).
Bộ hẹn giờ tự chạy /lượt —
lần gần nhất:
. Hiện chỉ cập nhật khi bấm nút — bộ hẹn giờ không tự đồng bộ.
Follower
tổng trên trang
Tổng kết bài đăng
⚠️ Đã đăng đếm trong ngày qua;
Hẹn lịch và Thất bại là tình trạng hiện tại của hàng đợi —
bài đang chờ nằm ở tương lai nên cửa sổ quá khứ không bao được nó.
Tổng
Đã đăng
Hẹn lịch
Thất bại
Báo cáo theo Nhóm trang
Bấm một nhóm để xem từng trang bên trong. ⚠️ Một trang có thể thuộc nhiều nhóm nên
cộng các nhóm KHÔNG ra tổng ở trên — thẻ tổng tính trên danh sách đã khử trùng.
Nhóm này chưa có trang nào.
Sắp theo:
Chưa có nhóm trang nào. Tạo ở 👪 Nhóm Page.
Chỉ đọc bình luận của 30 bài đăng gần nhất mỗi lượt. Bình luận do chính page viết
(kể cả bình luận đầu tiên tự đăng) không hiện ở đây — đó không phải việc phải trả lời.
Người viết
Nội dung
Page
Lúc
Trạng thái
đã ẩn
Chưa có bình luận nào — bấm “Đọc bình luận mới”.
Trả lời
⚠ Chỉ còn MỘT tài khoản quản trị đang bật. Khoá hoặc hạ quyền nó là không còn ai vào được hệ thống — hệ thống sẽ từ chối. Muốn có dự phòng thì tạo thêm một quản trị nữa.
Tài khoản
Vai trò
Nhóm được giao
Kho nội dung
Trạng thái
—
luôn được (admin)
Vai xếp theo THANG BẬC: mức cao gồm mọi quyền của mức thấp hơn.
Từ mức 40 trở lên là quản trị (token · App · Business · nhân viên).
Chưa có nhóm nào.
Tham số vận hành
Đổi mật khẩu
Nhà cung cấp
Mỗi page cần
bài dự trữKhung giờ
Page đang thiếu
Đang dựng
Prompt còn
Page đích
⛔ Đang BẬT nhưng sẽ không đặt được video nào.Chưa chọn page đích. Kho prompt trống.
Bộ hẹn giờ vẫn chạy đúng nhịp, chỉ là không có gì để làm — đúng kiểu hỏng mà
mọi đèn đều xanh.
Kết nối tới tool dựng video
Bên kia chỉ cần làm 3 việc:
POST /video để nhận đơn · GET /video/{job_id} để ta hỏi ·
(tuỳ chọn) gọi ngược vào webhook khi xong. Trả về phải có
video_url và caption — caption chính là nội dung đăng Facebook.
luồng
Đơn được đặt vào máy còn nhiều chỗ trống nhất, không chia đều — hai máy
max_workers khác nhau thì chia đều là máy yếu tắc còn máy khoẻ nằm
không. Tắt một máy nghĩa là đừng đặt thêm; video đang dựng dở ở đó vẫn
được nhận về bình thường.
Chưa có máy nào. Bấm ➕ Thêm máy rồi dán địa chỉ LAN và token.
⚠️ Với Dola: để trống cả hai ô dưới. Hai lý do độc lập:
adapter chưa gửicallback_url sang Dola, và Dola ký gói tin bằng
X-Dola-Signature (HMAC) trong khi endpoint của ta đọc
X-Video-Secret — có gửi cũng bị từ chối.
Hệ thống đang dùng đường hỏi vòng, chạy đúng và đủ dùng.
Chưa đặt khoá thì webhook bị từ chối —
endpoint này là chỗ duy nhất bên ngoài gọi vào được nên không bao giờ mở sẵn.
Đăng vào đâu, nhịp thế nào
Mỗi page một video riêng — không dùng
chung một video cho nhiều page (98 clone watch hiện có cũng mỗi cái một page, và
chưa nội dung nào từng lên hai page). Đích đến chốt ngay lúc đặt: video dựng
xong là tự vào hàng đợi của đúng page đó. Chọn 20 page thì một lượt đặt tối đa 20
video — nhớ đặt trần cho vừa sức bên cung cấp.
Chưa có nhóm nào.
Bấm để chọn, bấm lại để bỏ.
Không có trang nào khớp.
Nhớ bấm Lưu & kiểm tra kết nối — chọn xong mà không lưu thì
cấu hình vẫn trống.
Bấm Lưu & kiểm tra kết nối
để hỏi Dola cho mấy luồng.
⚠️ Đặt cao hơn không làm nhanh hơn — phần dư chỉ xếp hàng chờ, và đơn
chờ quá giờ sẽ bị bỏ (mất cả credit).
⚠️ 0 = mọi trang đăng đúng một giây. Đo thật: một bài mất ~27s, 6 luồng
→ ~13 bài/phút, nên rải hẹp hơn năng lực chỉ là lời hứa suông.
Chốt trang đích lúc đặt; video về xếp vào cữ trống gần nhất của
đúng trang đó.
Đặt video không kèm trang. Video ra thì chọn ngay một trang đang đủ
điều kiện (rỗi lâu nhất trước) và đăng luôn — khung giờ không dùng tới.
Trang vừa đăng rời danh sách cho tới khi đủ hai điều kiện bên dưới.
Cả danh sách đang nghỉ thì video nằm trong kho, không bị ép vào đâu.
Đếm MỌI bài của trang (kể cả bài đăng tay), không riêng video.
Tính cả bài đã đăng, không chỉ bài đang chờ.
Luồng còn thừa sau khi mọi trang đủ bài sẽ dựng sẵn video (kèm caption)
để dành. Kho hiện có .
Bộ phân phối tự rút kho ra mỗi vòng — không cần bấm tay.
0 = tắt kho dự trữ, chỉ đặt khi trang cần.
Nhịp thật sự áp dụng:
mỗi trang bài/ngày
·
trang →
bài/ngày
= lệnh gọi Graph.
Đo 12/09/2026: 2 lệnh gọi mỗi bài reel (100 lệnh / 50 bài) và bucket
của từng trang nhích 1% sau một bài — thêm trang là thêm trần, nên thứ
đáng canh là tổng lệnh gọi trên App. Hôm đó App chạy 4.960 lệnh mà
x-app-usage vẫn 0%.
Danh sách xoay vòng
Trang nghỉ vì vừa đăng chưa đủ giãn cách, hoặc đã đủ số bài hôm nay —
cột bên phải là lúc nó quay lại. Đếm mọi bài của trang (kể cả bài đăng
tay và bài đang chờ trong hàng đợi), không riêng video.
Video về lúc nào cũng được xếp vào cữ trống
gần nhất, mỗi cữ mỗi page đúng một bài — nên dựng lâu hay về trễ đều không làm
bài đăng dồn. Đơn quá hạn ở trên bị bỏ và trả lại chỗ dự trữ; thiếu vế này
thì page đó ngừng được đặt bài mới mà không có lỗi nào nổ.
Đang ở chế độ
Video ra là đăng ngay — giờ đăng do danh sách xoay vòng ở trên quyết
định, khung giờ này không được dùng tới. Giữ lại để đổi về
Theo khung giờ là dùng được ngay, khỏi gõ lại.
Xếp hạng prompt theo lượt xem
Xếp theo view trung bình ở ngày thứ 5 — so ở cùng tuổi bài, không so tổng
(prompt dùng nhiều lần thì tổng đương nhiên cao). Prompt chưa có bài đủ 5 ngày xếp
sau, hiện số tạm. Cập nhật 1 lượt/ngày, bỏ qua page token chết.
⭐ prompt nổi bật · lấy% lượt đặt từ nhóm nổi bật (phần còn lại chia cho prompt thường).
⬇ Xuấtprompt view cao nhất ra file .txtXuất file— mở file rồi dán cho AI, bảo nó viết prompt cùng kiểu.
⚠️ Prompt chưa đủ 5 ngày đang hiện số TẠM — một bài may mắn cũng lên đầu bảng.
Lấy cả chúng làm mẫu là dạy AI bắt chước thứ chưa ai biết là tốt hay không.
⚠️ Chưa prompt nào đủ 5 ngày — đang chọn nổi bật bằng số TẠM, dễ nhầm prompt may mắn.
Chưa có số liệu view — sẽ có sau lượt lấy view đầu tiên.
Đây là nhiên liệu: hết prompt là không đặt
được video nào. Nhiều prompt thì ngăn cách bằng một dòng chỉ có ---
(không dùng dòng trống — prompt video dài và nhiều đoạn, tách theo dòng trống sẽ cắt
vụn một prompt thành chục mảnh). Cùng nội dung dán lại không tạo bản sao.
⚠️ Phải có CAPTION: — nếu không, bài đăng sẽ là câu lệnh dựng video
PROMPT là câu lệnh dựng video; CAPTION là nội dung đăng lên Facebook.
Dola không tự viết caption — nó giữ nguyên phần ta gửi rồi trả lại. Dùng đúng
bộ nhãn của Dola (mode: nhan), nên dán được cả sang tool bên đó:
PROMPT: Đàn chó con vui đùa với mèo trong khu vườn mùa thu, ánh nắng xuyên tán lá…
CAPTION: Ngày mới nhẹ nhàng nhé cả nhà 🐶🐱
---
PROMPT: Cảnh thứ hai…
CAPTION: Nội dung đăng của cảnh hai…
Không có nhãn thì cả khối tính là PROMPT và caption để trống — prompt đó
đặt được nhưng lúc nhận video về sẽ báo lỗi, vì không có gì để đăng.
Nhãn CONTENT POST SOCIAL: (Dola in ra ở file .txt) cũng đọc được.
Chủ đề trong kho
— bấm để XEM prompt của chủ đề đó
(và gộp, đổi tên hoặc bỏ nhãn)
Đang sửa — prompt.
Bỏ nhãn chỉ trống ô chủ đề — prompt vẫn còn nguyên trong kho.
Mọi thao tác đều hỏi lại kèm số thật và sao lưu trước khi ghi.
Prompt trong kho
Đang lọc theo chủ đề —
prompt
khớp cả từ khoá đang tìm.
Kho trống — chưa đặt được video nào.
⚠️ Chưa có CAPTION — video dựng xong sẽ không đăng được.
· ĐÃ TẮT
Prompt — câu lệnh dựng video
Caption — nội dung đăng Facebook
Dán lại prompt này kèm dòng CAPTION: để điền thêm.
Không prompt nào khớp.
⚠️ Tắt chứ không xoá — đơn đã đặt còn trỏ về prompt sinh ra nó, cần khi một
video ra sai và phải tìm xem prompt nào đẻ ra. Prompt đã tắt không được lấy nữa.
Đơn đã đặt
#
Tiêu đề
Chủ đề
Trạng thái
Đã xếp
Đặt lúc
Lỗi
Chưa đặt đơn nào. Khai báo máy chủ, thêm prompt, chọn page đích rồi bấm
Đặt ngay 1 lượt.