---
title: "Gumbi: interaktivna sporočila v mssgs"
description: "Dodaj gumbe pod kartico mssgs: odpri povezavo, z enim dotikom spremeni kartico za vse, spremljaj vsak pritisk v živo ali zaženi drug ukaz. Polja in napake."
canonical: https://docs.mss.gs/sl/buttons
language: sl
---

# 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 povezavo** Pošlji ljudi na stran, nadzorno ploščo ali pull request.

- **Spremeni kartico z dotikom** Uredi jo, odstrani, dodaj reakcijo ali odgovor, kar ob pritisku, brez lastnega strežnika.

- **Zaznaj vsak pritisk** Tvoja storitev v živo izve, kdo je pritisnil kaj.

- **Zaženi ukaz** Gumb lahko sproži enega od ukazov s poševnico v skupnosti, skupaj s podatki.

V aplikaciji

#### Vhodna vrata

Nekdo pozvoni: prikaže se kartica

#### Vhodna vrata

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](#quick-start)

- [Tri vrste](#kinds)

- [Spremeni kartico](#steps)

- [Zaznaj pritisk](#listen)

- [Zaženi ukaz](#trigger)

- [Polja](#fields)

- [Napake](#errors)

## Hiter začetek

### Dodaj seznam actions

Gumbi gredo v actions , poleg kartice, v objavi prek [webhooka](https://docs.mss.gs/sl/webhooks), v odgovoru na [ukaz](https://docs.mss.gs/sl/commands) ali v [posodobitvi](https://docs.mss.gs/sl/live-updates).

```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" }
  ]
}
```

#### Namestim v2.1 v produkcijo?

- 2 Izberi, 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 |

```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:" }
      ]
    }
  ]
}
```

## 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:

```sse
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](https://docs.mss.gs/sl/live-updates).

## 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:

```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=..."
}
```

## 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?

## Gradi naprej
