公式

公式是 GetMyBot 內建的計算語言。您可以用它計算折扣金額、組合字串、驗證條件、轉換清單或日期——直接在訊息文字中、在**「計算」動作裡,以及在決策表的條件中使用。語法與試算表公式相近,並支援俄文函式名稱**。

公式的使用場景

  • 在文字中 — 使用 {{= 運算式}} 語法計算運算式並插入結果。例如:{{= ROUND(param.total * 0.9) }}
  • 「計算」動作compute)— 計算運算式並將結果儲存至 ctx(「儲存至 ctx」欄位)及/或訂閱者參數(「儲存至參數」欄位)。
  • 決策表 — 在「計算」動作中,可以用規則清單「當 → 則」取代單一運算式:返回第一個條件為真的規則的值,否則返回預設值。

語法

  • 運算子:算術 + - * / %、比較 == != < > <= >=、邏輯 && || !、括號 ( )
  • 字面量:數字(423.14)、字串(使用引號,如 "hello")、布林值(truefalse)。
  • 資料引用:在運算式中可依名稱存取參數與情境值——param.totalctx.itemsrecipient.email
  • 呼叫函式名稱(引數1, 引數2)。函式名稱不區分大小寫,並支援俄文別名。

函式

以下使用英文標準名稱;括號中為俄文別名(若有)。名稱大小寫不限。

數學

SUMAVERAGEMAXMINMODPOWSQRTPIROUNDCEILFLOORTRUNCABSRANDBETWEEN

文字

LENLEFTRIGHTMIDLOWERUPPERUPPERFIRSTREPEATCONCATSUBSTITUTEFINDSEARCHFIELDTRIMLTRIMRTRIMPADLEFTPADRIGHTSPLITJOINSTARTSWITHENDSWITHCONTAINSNL

邏輯

IFANDORNOTEMPTYISNUMBERCOALESCE

清單

SORTRSORTUNIQUEFILTERFOREACHREDUCEINDEXSLICECOUNTACOUNTUNIQUEARRAYADDARRAYREMOVEARRAYREPLACEARRAYFIND

日期與時間

TODAYNOWDATEADDDATESUBDATEDIFDATEFORMATDATEVALUEWEEKDAY

JSON

TOJSONFROMJSONJSONPATHJPJSONOBJECTJSONARRAYKEYSVALUES

加密與編碼

HASHTOBASE64FROMBASE64FROMJWTFROMJWK

參數

PARAMIDPARAMREPLACEPARAMREMOVE

範例

  • 折扣 10%:{{= ROUND(param.total * 0.9) }}
  • 條件判斷:{{= IF(param.total > 1000, "wholesale", "retail") }}
  • 字串組合:{{= CONCAT("Order #", ctx.order_id) }}
  • 清單長度:{{= COUNTA(ctx.items) }}

公式測試器

在**「計算」**動作的編輯器中,有一個驗證按鈕:您可以輸入運算式和範例資料,平台會返回結果並醒目標示語法錯誤——無需離開建構器。這對於在儲存反應前偵錯複雜公式非常方便。

後續步驟