---
title: "Tlačidlá: interaktívne správy v mssgs"
description: "Pridaj tlačidlá pod kartu v mssgs: otvor odkaz, zmeň kartu pre všetkých jedným ťuknutím, sleduj každé stlačenie naživo alebo spusti príkaz. Polia a chyby."
canonical: https://docs.mss.gs/sk/buttons
language: sk
---

# Pridaj tlačidlá

Pridaj tlačidlá pod ľubovoľnú kartu. Tlačidlo otvorí odkaz, zmení kartu pre všetkých hneď, ako naň niekto ťukne, alebo dá tvojej službe vedieť, že ho niekto stlačil.

## Čo s tým môžeš robiť

- **Otvor odkaz** Pošli ľudí na stránku, dashboard alebo pull request.

- **Zmeň kartu ťuknutím** Uprav ju, odstráň, zareaguj alebo odpovedz priamo po stlačení, bez vlastného servera.

- **Zachyť každé stlačenie** Tvoja služba sa naživo dozvie, kto čo stlačil.

- **Spusti príkaz** Tlačidlo môže spustiť jeden z príkazov s lomkou tvojej komunity, aj s dátami.

V aplikácii

#### Vchodové dvere

Niekto zazvoní: objaví sa karta

#### Vchodové dvere

Ťuknutie na Otvoriť bránu: karta sa zmení pre všetkých

Samotná zmena nepotrebuje server: kroky sú uložené spolu so správou. Tvoj ovládač brány zachytí stlačenie a bránu otvorí.

- [Rýchly štart](#quick-start)

- [Tri druhy](#kinds)

- [Zmena karty](#steps)

- [Zachytenie stlačenia](#listen)

- [Spustenie príkazu](#trigger)

- [Polia](#fields)

- [Chyby](#errors)

## Rýchly štart

### Pridaj zoznam actions

Tlačidlá patria do actions , vedľa karty, v správe z [webhooku](https://docs.mss.gs/sk/webhooks), v [odpovedi na príkaz](https://docs.mss.gs/sk/commands) alebo v [aktualizácii](https://docs.mss.gs/sk/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" }
  ]
}
```

#### Nasadiť v2.1 do produkcie?

- 2 Vyber, čo stlačenie urobí Odkaz, zmenu karty alebo volanie tvojej služby. Tri druhy nájdeš nižšie.

## Tri druhy tlačidiel

type určuje, čo stlačenie urobí.

| Typ | Čo urobí stlačenie | Dostaneš ho |
| --- | --- | --- |
| url:{url} | Otvorí odkaz. | Nie |
| webhook_action | Vykoná kroky uložené spolu s ním, pre všetkých v kanáli. | Áno, cez stream_url správy |
| trigger:{guid} | Spustí jeden z triggerov komunity s payload tlačidla. | Áno, ako novú požiadavku na URL toho triggera |

## Zmena karty ťuknutím

Tlačidlo webhook_action nesie v triggers zoznam krokov. Po stlačení sa jeden po druhom vykonajú na serveri mssgs a výsledok uvidia všetci v kanáli.

| Krok | Čo urobí, pre všetkých | Polia |
| --- | --- | --- |
| update_message | Nahradí kartu aj jej tlačidlá. Pošli "actions": [] a tlačidlá zmiznú. | message_container , actions , content |
| remove_message | Zmaže správu. | Žiadne |
| add_reaction | Pridá reakciu v mene člena, ktorý tlačidlo stlačil. | emoji |
| add_reply | Pošle odpoveď v mene člena, ktorý tlačidlo stlačil. | 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:" }
      ]
    }
  ]
}
```

## Zachyť stlačenie

Správa s tlačidlami sa z webhooku vráti so stream_url . Nechaj stream otvorený a každé stlačenie príde ako udalosť typu action , s id tlačidla, uloženým tlačidlom a jeho payload a s informáciou, kto ho stlačil:

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

Urob skutočnú prácu, napríklad otvor bránu, a potom cez callback_url nastav konečný stav karty. Ako funguje stream a callback, sa dočítaš na stránke [živé aktualizácie](https://docs.mss.gs/sk/live-updates).

## Spusti príkaz tlačidlom

Tlačidlo trigger:{guid} spustí jeden z triggerov tvojej komunity, akoby niekto napísal príkaz, a odovzdá mu payload tlačidla. Trigger dostane:

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

## Polia

| Pole | Typ | Čo robí |
| --- | --- | --- |
| type | string | url:{url} , webhook_action alebo trigger:{guid} . Povinné. |
| text | string | Popis na tlačidle. Povinné; funguje aj label . |
| color | string | Farba tlačidla, pozri nižšie. |
| id | string | Pre webhook_action : ktoré tlačidlo bolo stlačené. Jedinečné v rámci správy. |
| payload | object | Tvoje dáta, ktoré dostaneš späť pri stlačení. |
| triggers | array | Pre webhook_action : kroky, ktoré sa majú vykonať. |
| disabled | boolean | Zobrazí tlačidlo sivé a stlačenia sa odmietnu. |

### Farby

green , blue a purple vykreslia plné, hlavné tlačidlo. red , orange a yellow vykreslia vedľajšie: použi ich pre „Zamietnuť“, „Zrušiť“ a iné voľby, pri ktorých treba byť opatrný.

## Chyby

Keď pošleš správu s tlačidlami, mssgs ich najprv skontroluje:

| Kód | Význam |
| --- | --- |
| INVALID_ACTIONS_FORMAT | actions nie je zoznam objektov. |
| INVALID_ACTION_MISSING_FIELDS | Tlačidlo nemá type alebo text . |
| DUPLICATE_ACTION_ID | Dve tlačidlá majú rovnaké id . |
| INVALID_TRIGGERS_FORMAT | triggers nie je zoznam krokov. |
| INVALID_TRIGGER_MISSING_ACTION | Krok nemá action . |
| INVALID_TRIGGER_ACTION_NOT_ALLOWED | Iný krok ako štyri uvedené vyššie. |

### Keď niekto stlačí tlačidlo

| Kód | Význam |
| --- | --- |
| MESSAGE_NOT_FOUND | Správa bola medzitým zmazaná. |
| ACTION_NOT_FOUND | Na správe nie je tlačidlo s týmto id. |
| ACTION_DISABLED | Tlačidlo je vypnuté. |
| TRIGGER_NOT_FOUND , TRIGGER_NOT_ACTIVE | Trigger, na ktorý tlačidlo odkazuje, už neexistuje alebo je vypnutý. |
| TRIGGER_NOT_ALLOWED | Člen nemá rolu, ktorá smie tento trigger používať. |

## Prichádzaš zo starej dokumentácie?

## Tvor ďalej
