🤖Bot

circle-info

Mỗi bot là 1 file Google Spreadsheet (sử dụng Google Apps Script phía sau), để tiết kiệm thời gian bạn nên bắt đầu với template có sẵn thay vì tạo mới mọi thứ từ đầu. Template bao gồm các sheet & Apps Script code project.

Lưu ý: không nên đổi tên các SHEET dưới đây vì sẽ khiến bot gặp lỗi

Sheet README

Sheet README thông thường chứa thông tin hướng dẫn cài đặt và sử dụng để giúp người dùng dễ dàng sử dụng bot

Sheet Spreadsheets

Sheet Spreadsheets cấu hình nguồn dữ liệu (datasource) sử dụng với agent, hiện tại chỉ hỗ trợ datasource là Google Spreadsheets. Một datasouce có thể là 1 sheet cùng file với file spreadsheet bot hoặc nằm bên ngoài. Các field bao gồm:

  • Id: số thứ tự dùng để định danh datasource, ví dụ 1, 2, 3, 4...

  • Name: tên gợi nhớ để tham chiếu ở mục khác, không nên dùng ký tự trắng (space) trong giá trị của field Name.

  • Url: chứa địa chỉ của file spreadsheet nếu sheet của datasouce không nằm cùng file spreadsheet bot

Sheet Agents

Mỗi Bot có thể có nhiều Agent thực hiện công việc chuyên biệt, mỗi công việc lại bao gồm 1 tập các Action thực hiện 1 nhiệm vụ cụ thể. Sheet Agent để cấu hình nguồn dữ liệu và các hành động (action) thao tác để dữ liệu truy vấn. Các tham số cấu hình cho agent bao gồm:

  • Id: số thứ tự dùng để định danh datasource, ví dụ 1, 2, 3, 4...

  • SpreadsheetId: Id của spreadsheet chứa datasource tham chiếu

  • Sheet: tên sheet sẽ truy vấn. Datasource có thể có nhiều sheet.

  • Range: vùng địa chỉ sẽ truy vấn, ví dụ: A1:J...

  • Headers: số lượng dòng (row) làm header có trong Range dữ liệu

  • Query: câu truy vấn dữ liệu. Câu lệnh truy vấn (query) có cùng cú pháp với câu lệnh truy vấn của hàm QUERY, theo cú pháp quy định bởi Google Visualization API Query Languagearrow-up-right

  • Actions: tập action sẽ thực hiện trên kết quả truy vấn. Bot sử dụng cơ chế pipeline để thực thi các action, format dạng action1|action2|action3. Output của action1 sẽ dùng làm input cho action2 và sử dụng JSON làm data format để trao đổi giữa các module.

  • Range: vùng địa chỉ sẽ truy vấn, ví dụ: A1:J...

  • Actions: Các action sẽ được thực thị trên kết quả truy vấn.

  • Active: Check/Uncheck - Bật/tắt agent

  • Joint: Check/Uncheck - Bật/tắt chế độ Joint & Disjoint (ảnh hưởng đến cách xử lý dữ liệu)

  • Note: Ghi chú (tùy chọn)

Sheet Actions

Sheet Actions định nghĩa tác vụ thực vi bằng cách gọi các Command với đối số tùy biến.Nếu Command là class/module thì Action chính là instance của class/modulmodule. Một command có thể có nhiều action (bắt buộc khác Name). Các tham số cấu hình cho action bao gồm:

  • Name: tên gợi nhớ để tham chiếu ở mục khác, không nên dùng ký tự trắng (space) trong giá trị của field Name.

  • Command: command sẽ sử dụng, bắt buộc tên phải chính xác và phiên bản AKA Bot hiện tại hỗ trợ. Các command có sẵn trong phiên bản AKA Bot EDU:

    • SheetWriter

    • Etl

    • Gas

    • SDebug

    • Email

    • Calendar

    • Postman

    • Xml2JSON

  • Arguments: đối số command truyền vào theo cú pháp

    • -ten-param gia-tri, ví dụ -url:https://www.google.com.vn

    • –-ten-param-kieu-boolean, ví dụ: –header nghĩa là header = true

    • Nếu giá trị param có space thì để trong cặp dấu ' hoặc "

Sheet System

Sheet System lưu các setting/configuration dạng Key-Value để dùng trong module/app. Trong config, có thể truy cập các key bằng cú pháp template <#Key#>. Các field bao gồm:

  • Key: tên gợi nhớ để tham chiếu ở mục khác, không nên dùng ký tự trắng (space) trong giá trị của field Key.

  • Value: Giá trị mặc định. Giá trị không nhất thiết là giá trị tĩnh (static), bạn có thể sử dụng Google Sheets formula để tạo giá trị động (dynamic) phù hợp với yêu cầu business.

  • Note: Ghi chú (tùy chọn)

Sheet Log

Các Command/Module ghi nội dung log trong quá trình thực thi. Level gồm:

  • Trace = 0

  • Debug = 1

  • Info = 2

  • Warn = 3

  • Error = 4

Apps Scripts Project Settings có thuộc tính app.logLevel đế set giá trị global cho log level

  • Giá trị mặc là 2 => chỉ xuất ra sheet Log các log entry Level từ Info trở lên

circle-info

Lưu ý: Bên cạnh các sheet hệ thống sẵn có, bạn có thể thêm tùy ý các sheet bổ sung theo nhu cầu ứng dụng. Giá trị cấu hình không nhất thiết phải là giá trị tĩnh mà có thể sử dụng kết hợp Google Sheets formula để tạo giá trị động mong muốn.

Last updated