# CHO CLAUDE ĐỌC: Bước 14. Đăng Facebook tự động từ Lark Base

> Tài liệu này viết cho Claude Code của học viên. Người học chỉ cần dán câu lệnh bên dưới vào Claude, Claude đọc file này rồi làm.
> Thuộc hệ thống triển khai AI của Trương Minh Kiên. Trang bước này: https://trienkhaifb.truongminhkien.vn

## Việc cần làm

Viết 30 ngày bài vào bảng Lark, máy trên **Cloudflare Workers** tự đăng đúng giờ lên Fanpage, kèm ảnh và comment mồi, mỗi sáng tự kéo số liệu Fanpage và quảng cáo về Lark. Không dùng GitHub (từ 14/10/2026; cách cũ ở `cach-cu-github/`, không dùng nữa).

Câu lệnh học viên dán vào Claude:

```
Tải gói https://trienkhaifb.truongminhkien.vn/dang-facebook-tu-dong.zip, giải nén, đọc CHO-CLAUDE-DOC.md và TRIEN-KHAI.md rồi dựng máy đăng bài trên Cloudflare cho tôi, ở chế độ chỉ liệt kê trước; sau đó viết cho tôi 30 ngày bài và lên lịch đăng
```

## Luật khi làm

1. Đọc hết file này, kể cả phần bẫy, trước khi chạy lệnh nào.
2. Việc cần mật khẩu, mã OTP, token hay thanh toán thì dừng lại để học viên tự làm, không nhập hộ. Bí mật đưa lên Cloudflare bằng các file `DAN-MA-*.bat` (học viên tự copy rồi bấm), không bao giờ ghi vào `wrangler.toml`, mã, wiki hay kết quả.
3. Không xoá dữ liệu, bản ghi DNS hay file cũ của học viên. Chỉ thêm.
4. Xong mỗi bước thì kiểm tra thật (gọi `/xem`, mở bảng Lark) rồi mới báo xong.
5. **Không tự bật đăng thật** (`CRON_DANG_THAT = "true"`) khi học viên chưa xem danh sách `/xem` và đồng ý: bật là đăng công khai lên Fanpage.
6. Gói này chạy trên máy của học viên, không phải máy người soạn. Mọi đường dẫn tính từ thư mục giải nén hoặc vault của học viên. Skill nào nhắc tới `output/...` hay `wiki/...` mà vault học viên chưa có thì bỏ qua, dùng nội dung trong skill. Riêng `wiki/concepts/bo-mau-thuong-hieu.md`: nếu chưa có, chép từ `mau/bo-mau-thuong-hieu.md` rồi hỏi học viên để điền.

## Skill trong gói

- `tmk-mkt-content-30-ngay`

Cách cài skill: chép từng thư mục trong `.claude/skills/` của gói vào `.claude/skills/` của vault Obsidian (bước 1). Tên thư mục phải trùng tên skill, file chính tên `SKILL.md`.

## Các bước

Làm theo `TRIEN-KHAI.md`, tóm tắt:

1. Tạo App Lark (quyền `bitable:app`, `drive:drive`, `base:record:retrieve`, `base:table:create`, bật Bot, Publish), mời App vào Base của bước 4 bằng lark-cli; tạo token Facebook dài hạn đủ 8 quyền: `pages_show_list, pages_read_engagement, pages_manage_posts, pages_manage_engagement, pages_read_user_content, read_insights, ads_read, business_management`.
2. Chạy `khoi-tao.ps1` một lần trên máy để tạo 5 bảng mẫu 14.1 đến 14.5 và kéo dữ liệu lần đầu; xong xoá các giá trị bí mật khỏi file.
3. Trong `cloudflare-worker/`: `npx wrangler login`, điền `LARK_APP_ID`, `LARK_BASE_ID` vào `wrangler.toml` (gói miễn phí thì xoá 2 dòng `[limits]`), `npx wrangler deploy`; học viên tự chạy `DAN-MA-LARK.bat`, `DAN-MA-FB.bat`, `TAO-RUN-KEY.bat`.
4. Gọi `/xem?key=<RUN_KEY>` cho học viên xem bài máy sẽ đăng; có bài quá hạn dồn lại thì dời lịch bằng `/doi-lich`; học viên đồng ý mới đổi `CRON_DANG_THAT = "true"` và deploy lại.

Ảnh, video đăng lấy từ cột `Ảnh/video` của bảng 14.3: tự thiết kế bằng Canva nhờ Claude ([Bước 13](https://trienkhaicontent.truongminhkien.vn/)) hoặc cắt từ video dài ([Bước 17](https://trienkhaivideo.truongminhkien.vn/)).

## Yêu cầu trước khi bắt đầu

- Đã có tài khoản Cloudflare ([Bước 6: Tên miền và Cloudflare](https://trienkhaitenmien.truongminhkien.vn/))
- Có Fanpage Facebook và quyền Admin của Fanpage đó
- Máy có Node 18 trở lên

## Bẫy đã gặp thật và cách gỡ

🔴 **Bản ghi CHƯA gán lịch đăng bị đăng NGAY.** Dòng mới mà để trống cột "Lịch đăng bài" thì máy coi là đăng ngay ở lượt chạy tới (tối đa 5 phút). **Gỡ:** luôn điền lịch đăng cụ thể ngay khi tạo dòng.

🔴 **Bật máy lại sau thời gian dừng là đăng dồn.** Mọi bài có lịch đã qua mà chưa "Thành công" sẽ được đăng hết trong một lượt (Kiên gặp thật 14/10/2026: 29 bài tồn sau 2 tuần máy cũ dừng). **Gỡ:** luôn xem `/xem` trước khi bật; dời lịch bằng `/doi-lich`.

🔴 **Cờ "Đăng ngay" bị sót.** Dòng từng được bấm "Đăng ngay" mà chưa đăng xong vẫn giữ cờ, máy sẽ đăng ngay bất kể lịch. **Gỡ:** soát cột `Đăng` trước khi bật; xoá cờ bằng `/xoa-co`.

1. **Đăng bài báo lỗi token dù token vẫn còn hạn.** Máy đọc token từng Page đã lưu ở bảng 14.1, không đọc token gốc. **Gỡ:** sau khi đổi token gốc, gọi `/lay?viec=pages&ghi=1` (POST) để làm mới bảng 14.1 rồi mới đăng.
2. **Bài lên nhưng chỉ Admin thấy.** App Facebook đang ở chế độ thử nghiệm. **Gỡ:** chuyển App sang Live Mode.
3. **Lark báo "app secret invalid" dù dán đủ 32 ký tự.** Dãy dấu sao che App Secret trên trang Lark cũng dài 32 ký tự; bôi đen copy là copy nhầm dấu sao. **Gỡ:** bấm nút copy cạnh App Secret (file `DAN-MA-LARK.bat` đã chặn trường hợp này).
4. **Ghi ảnh bìa vào bảng 14.2 báo `AttachFieldConvFail`.** Base bật quyền nâng cao thì ảnh phải tải lên kèm thông tin bảng. Mã trong gói đã xử lý; nếu tự sửa mã thì giữ cách tải lên kèm `bitablePerm`.
5. **Comment tự động luôn lỗi âm thầm.** Token thiếu `pages_manage_engagement`. **Gỡ:** bật quyền này trong App Facebook (mục Trường hợp sử dụng), tạo lại token đủ 8 quyền, dán lại bằng `DAN-MA-FB.bat`, rồi làm mới bảng 14.1.
6. **Token dán vào là bản ngắn hạn.** Mọi thứ chạy 1 đến 2 tiếng rồi lỗi `code 190 Session has expired`. **Gỡ:** chỉ copy token trong ô KẾT QUẢ MỚI sau khi bấm "Gia hạn mã truy cập", có dòng "sẽ không bao giờ hết hạn". Máy kiểm tra và in rõ hạn token khi chạy `/lay?viec=pages`.
7. **Lark Base không tự lặp lịch theo phút.** Tự động hoá của Lark chỉ lặp theo ngày, tuần, tháng. **Gỡ:** lịch chạy nằm ở Cloudflare (`crons` trong `wrangler.toml`), chạy đúng giờ, không trễ như GitHub.
<!-- them 19/10 -->
### Lark khoá thì máy không đọc được lịch đăng
Máy đọc lịch ở bảng 14.3 của Lark; Lark hết hạn mức API (gói Bước 4) là cả loạt bài hẹn sẵn không lên.
**Cách gỡ:** hẹn giờ thẳng trên Facebook bằng Graph API (`published=false` kèm `scheduled_publish_time`, thời điểm từ 10 phút tới 30 ngày sau), ảnh để ở một trang công khai trên Cloudflare Pages. Máy nhớ bài nào đã hẹn (theo mã dòng hoặc dấu nội dung) để khi Lark mở lại thì ghi Thành công kèm link, không đăng trùng. Trước khi hẹn, đối chiếu với các bài gần nhất trên Page.

## Bước tiếp theo

Đã tự động đăng được bài, sang bước 15: cài trợ lý AI "Lam Khuê" (Lark): https://trienkhailamkhue.truongminhkien.vn/
