Liigu põhisisu juurde
Arendajad Nupud

Lisa nupud

Pane nupud mis tahes kaardi alla. Nupp avab lingi, muudab kaarti kõigi jaoks samal hetkel, kui keegi seda puudutab, või annab sinu teenusele teada, et seda vajutati.

Mida saad teha

  • Ava linkSaada inimesed lehele, juhtpaneelile või pull requestile.
  • Muuda kaarti ühe puudutusegaMuuda seda, eemalda see, reageeri või vasta otse vajutusest, ilma oma serverita.
  • Kuule iga vajutustSinu teenus saab reaalajas teada, kes mida vajutas.
  • Käivita käskNupp võib käivitada ühe kogukonna kaldkriipsukäskudest, koos andmetega.

Rakenduses

Keegi helistab uksekella: kaart ilmub

Puudutus nupul „Ava värav“: kaart muutub kõigi jaoks

Muudatuse enda jaoks pole serverit vaja: sammud on salvestatud koos sõnumiga. Sinu värava kontroller kuuleb vajutust ja avab värava.

Kiirstart

  1. Lisa loend actions

    Nupud käivad välja actions alla, kaardi kõrvale: webhooki postituses, käsu vastuses või uuenduses.

    json
    {
      "message_container": {
        "color": "yellow",
        "title": "Deploy v2.1 to production?",
        "description": "Requested by maya."
      },
      "actions": [
        { "type": "url:https://ci.example.com/deploys/218", "text": "View changes", "color": "blue" }
      ]
    }
    deploys
    System
    Message from Deploybot

    Kas paigaldada v2.1 toodangusse?

    Taotleja: maya.
  2. Vali, mida vajutus teeb

    Link, kaardi muutmine või päring sinu teenusele. Kolm tüüpi on kirjas allpool.

Kolm nupu tüüpi

Seda, mida vajutus teeb, määrab type.

TüüpMida vajutus teebJõuab sinuni
url:{url}Avab lingi.Ei
webhook_actionKäivitab koos nupuga salvestatud sammud, kõigi jaoks kanalis.Jah, sõnumi aadressil stream_url
trigger:{guid}Käivitab ühe kogukonna triggeritest ja annab kaasa nupu välja payload.Jah, uue päringuna selle triggeri URL-ile

Muuda kaarti ühe puudutusega

Nupp webhook_action kannab väljal triggers sammude loendit. Vajutuse peale käivituvad need järjest mssgs’i serveris ja tulemust näevad kõik kanalis.

SammMida see teeb, kõigi jaoksVäljad
update_messageAsendab kaardi ja selle nupud. Saada "actions": [], et nupud eemaldada.message_container, actions, content
remove_messageKustutab sõnumi.Puuduvad
add_reactionLisab reaktsiooni vajutanud liikme nimel.emoji
add_replyPostitab vastuse vajutanud liikme nimel.content
json
{
  "message_container": { "color": "yellow", "title": "Front door", "description": "Someone rang the bell." },
  "actions": [
    {
      "type": "webhook_action",
      "id": "open_gate",
      "text": "Open gate",
      "color": "green",
      "payload": { "door": "front" },
      "triggers": [
        {
          "action": "update_message",
          "message_container": { "color": "blue", "title": "Front door", "description": "Opening…" },
          "actions": []
        },
        { "action": "add_reaction", "emoji": ":white_check_mark:" }
      ]
    }
  ]
}
Sammud loetakse salvestatud sõnumist, mitte kunagi liikme rakendusest, nii et vajutus saab teha ainult seda, mille ise sinna panid.
Sammud käivituvad järjest ja igaüht neist proovitakse: kui üks ebaõnnestub, käivituvad ülejäänud ikkagi.

Kuula vajutust

Nuppudega sõnum tuleb webhookist tagasi koos väljaga stream_url. Hoia see lahti ja iga vajutus saabub sündmusena tüübiga action, koos nupu id-ga, salvestatud nupu ja selle väljaga payload ning infoga, kes vajutas:

sse
data: {"type": "action", "message_id": "...", "action_id": "open_gate", "action": {"id": "open_gate", "payload": {"door": "front"}, ...}, "member_guid": "member-guid", "member": {...}, "ts": 1790000000000}

Tee ära päris töö, näiteks ava värav, ja sea siis kaardi lõplik olek aadressi callback_url kaudu. Kuidas voog ja callback töötavad, loe lehelt reaalajas uuendused.

Käivita nupuga käsk

Nupp trigger:{guid} käivitab ühe sinu kogukonna triggeritest, justkui keegi oleks käsu sisestanud, ja annab üle nupu välja payload. Trigger saab:

json
{
  "actions": [
    {
      "type": "trigger:5f2c9a1e-trigger-guid",
      "text": "Check status",
      "color": "blue",
      "payload": { "order_id": "12345" }
    }
  ]
}
json
{
  "trigger_match": "/status",
  "message": {
    "content": "[Action Triggered]",
    "member_guid": "member-guid",
    "is_action_button": true,
    "action_payload": { "order_id": "12345" }
  },
  "callback_url": "https://mss.gs/api/v1/trigger-callback/...",
  "stream_url": "https://mss.gs/api/v1/instant/...?token=..."
}
Triggeri vastus postitatakse uue kaardina. Päringust ei selgu, millise sõnumi all nupp oli: pane kõik vajalik välja payload.

Väljad

VäliTüüpMida see teeb
typestringurl:{url}, webhook_action või trigger:{guid}. Kohustuslik.
textstringNupu silt. Kohustuslik; töötab ka label.
colorstringNupu värv, vaata allpool.
idstringTüübi webhook_action puhul: millist nuppu vajutati. Unikaalne sõnumi piires.
payloadobjectSinu andmed, mis antakse vajutusel tagasi.
triggersarrayTüübi webhook_action puhul: käivitatavad sammud.
disabledbooleanNäitab nuppu hallina ja vajutused lükatakse tagasi.

Värvid

green, blue ja purple joonistavad täidetud põhinupu. red, orange ja yellow joonistavad teisese nupu: kasuta neid nuppude „Lükka tagasi“, „Tühista“ ja muude ettevaatlike valikute jaoks.

Vead

Kui postitad nuppudega sõnumi, kontrollib mssgs need kõigepealt üle:

KoodTähendus
INVALID_ACTIONS_FORMATactions ei ole objektide loend.
INVALID_ACTION_MISSING_FIELDSNupul puudub type või text.
DUPLICATE_ACTION_IDKahel nupul on sama id.
INVALID_TRIGGERS_FORMATtriggers ei ole sammude loend.
INVALID_TRIGGER_MISSING_ACTIONSammul puudub action.
INVALID_TRIGGER_ACTION_NOT_ALLOWEDSamm, mis pole üks neljast ülaltoodust.

Kui keegi vajutab

KoodTähendus
MESSAGE_NOT_FOUNDSõnum on vahepeal kustutatud.
ACTION_NOT_FOUNDSõnumil pole selle id-ga nuppu.
ACTION_DISABLEDNupp on välja lülitatud.
TRIGGER_NOT_FOUND, TRIGGER_NOT_ACTIVETrigger, millele nupp viitab, on kadunud või välja lülitatud.
TRIGGER_NOT_ALLOWEDLiikmel pole rolli, mis tohib seda triggerit kasutada.

Tuled vanast dokumentatsioonist?

Tüübi button nupud sammudega ws:send, local:update_message ja local:remove_message, tingimused previous:success ning expire_in_seconds ei tööta välistele saatjatele enam. Kasuta tüüpi webhook_action koos ülaltoodud sammudega: need jõuavad kõigini, mitte ainult vajutajani.

Ehita edasi