Dodaj gumbe
Stavi gumbe ispod bilo koje kartice. Gumb otvara poveznicu, mijenja karticu za sve čim ga netko dodirne ili javlja tvojoj usluzi da je pritisnut.
Što možeš napraviti
- Otvori poveznicuPošalji ljude na stranicu, nadzornu ploču ili pull request.
- Promijeni karticu jednim dodiromUredi je, ukloni, reagiraj ili odgovori, izravno iz pritiska, bez vlastitog servera.
- Primaj svaki pritisakTvoja usluga uživo saznaje tko je što pritisnuo.
- Pokreni naredbuGumb može pokrenuti jednu od slash naredbi zajednice, s podacima.
U aplikaciji
Netko zvoni: pojavi se kartica
Dodir na Otvori kapiju: kartica se mijenja za sve
Za samu promjenu ne treba ti server: koraci su spremljeni uz poruku. Tvoj upravljač kapije prima pritisak i otvara kapiju.
Brzi početak
Dodaj popis actions
Gumbi idu u
actions, pored kartice: u objavi webhooka, u odgovoru na naredbu ili u ažuriranju.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" } ] }deploysOdaberi što pritisak radi
Poveznica, promjena kartice ili poziv tvojoj usluzi. Tri vrste opisane su u nastavku.
Tri vrste gumba
O tome što pritisak radi odlučuje type.
| Tip | Što pritisak radi | Stiže do tebe |
|---|---|---|
url:{url} | Otvara poveznicu. | Ne |
webhook_action | Izvršava korake spremljene uz njega, za sve u kanalu. | Da, na stream_url poruke |
trigger:{guid} | Pokreće jedan od triggera zajednice s payload gumba. | Da, kao novi zahtjev na URL tog triggera |
Promijeni karticu jednim dodirom
Gumb webhook_action nosi popis koraka u triggers. Na pritisak se oni izvršavaju redom na mssgs serveru, a rezultat vide svi u kanalu.
| Korak | Što radi, za sve | Polja |
|---|---|---|
update_message | Zamjenjuje karticu i njezine gumbe. Pošalji "actions": [] da bi uklonio gumbe. | message_container, actions, content |
remove_message | Briše poruku. | Nema |
add_reaction | Dodaje reakciju u ime člana koji je pritisnuo. | emoji |
add_reply | Objavljuje odgovor u ime člana koji je pritisnuo. | content |
{
"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:" }
]
}
]
}Primaj pritiske
Poruka s gumbima vraća se iz webhooka sa stream_url. Drži ga otvorenim i svaki pritisak stići će kao događaj tipa action, s id-jem gumba, spremljenim gumbom i njegovim payload te podatkom tko ga je pritisnuo:
data: {"type": "action", "message_id": "...", "action_id": "open_gate", "action": {"id": "open_gate", "payload": {"door": "front"}, ...}, "member_guid": "member-guid", "member": {...}, "ts": 1790000000000}Odradi pravi posao, primjerice otvori kapiju, a zatim postavi konačno stanje kartice preko callback_url. Kako rade stream i callback, opisuje stranica ažuriranja uživo.
Pokreni naredbu gumbom
Gumb trigger:{guid} pokreće jedan od triggera tvoje zajednice, kao da je netko upisao naredbu, i predaje payload gumba. Trigger prima:
{
"actions": [
{
"type": "trigger:5f2c9a1e-trigger-guid",
"text": "Check status",
"color": "blue",
"payload": { "order_id": "12345" }
}
]
}{
"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=..."
}payload.Polja
| Polje | Tip | Što radi |
|---|---|---|
type | string | url:{url}, webhook_action ili trigger:{guid}. Obavezno. |
text | string | Natpis na gumbu. Obavezno; radi i label. |
color | string | Boja gumba, pogledaj u nastavku. |
id | string | Za webhook_action: koji je gumb pritisnut. Jedinstven unutar poruke. |
payload | object | Tvoji podaci, vraćeni pri pritisku. |
triggers | array | Za webhook_action: koraci koje treba izvršiti. |
disabled | boolean | Prikazuje gumb zasivljen, a pritisci se odbijaju. |
Boje
green, blue i purple crtaju ispunjeni, primarni gumb. red, orange i yellow crtaju sekundarni: koristi ih za „Odbij“, „Odustani“ i druge oprezne izbore.
Pogreške
Kad objaviš poruku s gumbima, mssgs ih najprije provjeri:
| Kôd | Značenje |
|---|---|
INVALID_ACTIONS_FORMAT | actions nije popis objekata. |
INVALID_ACTION_MISSING_FIELDS | Gumb nema type ili nema text. |
DUPLICATE_ACTION_ID | Dva gumba imaju isti id. |
INVALID_TRIGGERS_FORMAT | triggers nije popis koraka. |
INVALID_TRIGGER_MISSING_ACTION | Korak nema action. |
INVALID_TRIGGER_ACTION_NOT_ALLOWED | Korak koji nije jedan od četiri gore navedena. |
Kad netko pritisne
| Kôd | Značenje |
|---|---|
MESSAGE_NOT_FOUND | Poruka je u međuvremenu izbrisana. |
ACTION_NOT_FOUND | Na poruci nema gumba s tim id-jem. |
ACTION_DISABLED | Gumb je onemogućen. |
TRIGGER_NOT_FOUND, TRIGGER_NOT_ACTIVE | Trigger na koji gumb pokazuje više ne postoji ili je isključen. |
TRIGGER_NOT_ALLOWED | Član nema ulogu koja smije koristiti taj trigger. |
Dolaziš iz stare dokumentacije?
button s koracima ws:send, local:update_message i local:remove_message, uvjeti previous:success i expire_in_seconds više ne rade za vanjske pošiljatelje. Koristi webhook_action s gore navedenim koracima: oni stižu do svih, a ne samo do osobe koja je pritisnula.