สูตร
สูตรคือภาษาการคำนวณในตัวของ GetMyBot สามารถคำนวณจำนวนส่วนลด สร้างสตริง ตรวจสอบเงื่อนไข แปลงรายการหรือวันที่ — โดยตรงในข้อความ ในการดำเนินการ «การคำนวณ» และในเงื่อนไขของตาราง decision syntax ใกล้เคียงกับสูตร spreadsheet และรองรับ ชื่อฟังก์ชันแบบ case-insensitive
ที่ไหนที่สูตรทำงาน
- ในข้อความ — โครงสร้าง
{{= expression}}คำนวณ expression และแทรกผลลัพธ์ เช่น{{= ROUND(param.total * 0.9) }} - การดำเนินการ «การคำนวณ» (
compute) — คำนวณ expression และบันทึกผลลัพธ์ไปยังctx(ฟิลด์ «บันทึกใน ctx») และ/หรือพารามิเตอร์ผู้ติดตาม (ฟิลด์ «บันทึกในพารามิเตอร์») - ตาราง decision — ในการดำเนินการ «การคำนวณ» แทนที่จะเป็น expression เดียว สามารถกำหนดรายการกฎ «เมื่อ → แล้ว»: คืนค่าของกฎแรกที่เงื่อนไขเป็นจริง ไม่เช่นนั้นคืนค่าเริ่มต้น
Syntax
- ตัวดำเนินการ: เลขคณิต
+ - * / %, การเปรียบเทียบ== != < > <= >=, logic&& || !, วงเล็บ( ) - Literal: ตัวเลข (
42,3.14), สตริงในเครื่องหมายคำพูด ("hello"), boolean (true,false) - การอ้างอิงข้อมูล: ภายใน expression สามารถอ้างอิงพารามิเตอร์และค่า context ตามชื่อ —
param.total,ctx.items,recipient.email - การเรียกฟังก์ชัน:
NAME(argument1, argument2)ชื่อ ไม่คำนึงถึง case
ฟังก์ชัน
ชื่อระบุในรูปแบบ English canonical ไม่สนใจ case
คณิตศาสตร์
SUM, AVERAGE, MAX, MIN, MOD, POW, SQRT, PI, ROUND, CEIL, FLOOR, TRUNC, ABS, RANDBETWEEN
ข้อความ
LEN, LEFT, RIGHT, MID, LOWER, UPPER, UPPERFIRST, REPEAT, CONCAT, SUBSTITUTE, FIND, SEARCH, FIELD, TRIM, LTRIM, RTRIM, PADLEFT, PADRIGHT, SPLIT, JOIN, STARTSWITH, ENDSWITH, CONTAINS, NL
Logic
IF, AND, OR, NOT, EMPTY, ISNUMBER, COALESCE
รายการ
SORT, RSORT, UNIQUE, FILTER, FOREACH, REDUCE, INDEX, SLICE, COUNTA, COUNTUNIQUE, ARRAYADD, ARRAYREMOVE, ARRAYREPLACE, ARRAYFIND
วันที่และเวลา
TODAY, NOW, DATEADD, DATESUB, DATEDIF, DATEFORMAT, DATEVALUE, WEEKDAY
JSON
TOJSON, FROMJSON, JSONPATH, JP, JSONOBJECT, JSONARRAY, KEYS, VALUES
การเข้ารหัส
HASH, TOBASE64, FROMBASE64, FROMJWT, FROMJWK
พารามิเตอร์
PARAMID, PARAMREPLACE, PARAMREMOVE
ตัวอย่าง
- ส่วนลด 10% จากยอดรวม:
{{= ROUND(param.total * 0.9) }} - เงื่อนไข:
{{= IF(param.total > 1000, "wholesale", "retail") }} - การสร้างสตริง:
{{= CONCAT("Order #", ctx.order_id) }} - ขนาดรายการ:
{{= COUNTA(ctx.items) }}
ทดสอบสูตร
ใน editor ของการดำเนินการ «การคำนวณ» มีปุ่มตรวจสอบ: ป้อน expression และข้อมูลตัวอย่าง แล้ว platform จะคืนผลลัพธ์และเน้น syntax error — โดยไม่ต้องออกจาก constructor สะดวกสำหรับ debug สูตรยาวก่อนบันทึกรีแอคชัน
ขั้นตอนถัดไป
- การแทนที่และสูตร — ตัวแปร
{{...}}, contextctxและพารามิเตอร์ - การดำเนินการ — การดำเนินการ «การคำนวณ» และตาราง decision
- ข้อความและปุ่ม — สูตรในข้อความและเทมเพลตปุ่ม
- คอลเลกชันและข้อมูล — ข้อมูลที่สูตรคำนวณ