Dodaj gumbe
Dodaj gumbe pod katero koli kartico. Gumb odpre povezavo, spremeni kartico za vse v trenutku, ko se ga kdo dotakne, ali tvoji storitvi sporoči, da je bil pritisnjen.
Kaj lahko narediš
- Odpri povezavoPošlji ljudi na stran, nadzorno ploščo ali pull request.
- Spremeni kartico z dotikomUredi jo, odstrani, dodaj reakcijo ali odgovor, kar ob pritisku, brez lastnega strežnika.
- Zaznaj vsak pritiskTvoja storitev v živo izve, kdo je pritisnil kaj.
- Zaženi ukazGumb lahko sproži enega od ukazov s poševnico v skupnosti, skupaj s podatki.
V aplikaciji
Nekdo pozvoni: prikaže se kartica
Dotik gumba Odpri vrata: kartica se spremeni za vse
Za samo spremembo ne potrebuješ strežnika: koraki so shranjeni skupaj s sporočilom. Krmilnik tvojih vrat zazna pritisk in odpre vrata.
Hiter začetek
Dodaj seznam actions
Gumbi gredo v
actions, poleg kartice, v objavi prek webhooka, v odgovoru na ukaz ali v posodobitvi.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" } ] }deploysIzberi, kaj naredi pritisk
Povezava, sprememba kartice ali klic tvoje storitve. Tri vrste so opisane spodaj.
Tri vrste gumbov
Kaj naredi pritisk, določa type.
| Tip | Kaj naredi pritisk | Pride do tebe |
|---|---|---|
url:{url} | Odpre povezavo. | Ne |
webhook_action | Izvede korake, ki si jih shranil z njim, za vse v kanalu. | Da, na stream_url sporočila |
trigger:{guid} | Sproži enega od triggerjev skupnosti s payload gumba. | Da, kot nova zahteva na URL tega triggerja |
Spremeni kartico z dotikom
Gumb webhook_action nosi seznam korakov v triggers. Ob pritisku se po vrsti izvedejo na strežniku mssgs, rezultat pa vidijo vsi v kanalu.
| Korak | Kaj naredi, za vse | Polja |
|---|---|---|
update_message | Zamenja kartico in njene gumbe. Pošlji "actions": [], da gumbe odstraniš. | message_container, actions, content |
remove_message | Izbriše sporočilo. | Brez |
add_reaction | Doda reakcijo v imenu člana, ki je pritisnil. | emoji |
add_reply | Objavi odgovor v imenu člana, ki je pritisnil. | 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:" }
]
}
]
}Zaznaj pritisk
Sporočilo z gumbi se iz webhooka vrne s stream_url. Imej ga odprtega in vsak pritisk prispe kot dogodek tipa action, z ID-jem gumba, shranjenim gumbom in njegovim payload ter s podatkom, kdo ga je pritisnil:
data: {"type": "action", "message_id": "...", "action_id": "open_gate", "action": {"id": "open_gate", "payload": {"door": "front"}, ...}, "member_guid": "member-guid", "member": {...}, "ts": 1790000000000}Opravi pravo delo, na primer odpri vrata, nato prek callback_url nastavi končno stanje kartice. Kako delujeta tok in callback, piše na strani posodobitve v živo.
Zaženi ukaz z gumbom
Gumb trigger:{guid} sproži enega od triggerjev tvoje skupnosti, kot da bi nekdo vtipkal ukaz, in mu preda payload gumba. Trigger prejme:
{
"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 | Kaj naredi |
|---|---|---|
type | string | url:{url}, webhook_action ali trigger:{guid}. Obvezno. |
text | string | Napis na gumbu. Obvezno; deluje tudi label. |
color | string | Barva gumba, glej spodaj. |
id | string | Za webhook_action: kateri gumb je bil pritisnjen. Edinstven znotraj sporočila. |
payload | object | Tvoji podatki, ki jih dobiš nazaj ob pritisku. |
triggers | array | Za webhook_action: koraki, ki naj se izvedejo. |
disabled | boolean | Gumb je prikazan sivo, pritiski pa so zavrnjeni. |
Barve
green, blue in purple narišejo poln, primaren gumb. red, orange in yellow narišejo sekundarnega: uporabi jih za „Zavrni“, „Prekliči“ in druge previdne izbire.
Napake
Ko objaviš sporočilo z gumbi, jih mssgs najprej preveri:
| Koda | Pomen |
|---|---|
INVALID_ACTIONS_FORMAT | actions ni seznam objektov. |
INVALID_ACTION_MISSING_FIELDS | Gumb nima type ali text. |
DUPLICATE_ACTION_ID | Dva gumba imata isti id. |
INVALID_TRIGGERS_FORMAT | triggers ni seznam korakov. |
INVALID_TRIGGER_MISSING_ACTION | Korak nima action. |
INVALID_TRIGGER_ACTION_NOT_ALLOWED | Korak, ki ni eden od štirih zgoraj. |
Ko nekdo pritisne
| Koda | Pomen |
|---|---|
MESSAGE_NOT_FOUND | Sporočilo je bilo medtem izbrisano. |
ACTION_NOT_FOUND | Na sporočilu ni gumba s tem ID-jem. |
ACTION_DISABLED | Gumb je onemogočen. |
TRIGGER_NOT_FOUND, TRIGGER_NOT_ACTIVE | Trigger, na katerega kaže gumb, ne obstaja več ali je izklopljen. |
TRIGGER_NOT_ALLOWED | Član nima vloge, ki sme uporabljati ta trigger. |
Prihajaš iz stare dokumentacije?
button s koraki ws:send, local:update_message in local:remove_message, pogoji previous:success in expire_in_seconds za zunanje pošiljatelje ne delujejo več. Uporabi webhook_action s koraki zgoraj: dosežejo vse, ne le osebe, ki je pritisnila.