---
title: "Gombok: interaktív mssgs-üzenetek"
description: "Tegyél gombokat egy mssgs-kártya alá: link, a kártya módosítása mindenkinek egy koppintásra, gombnyomások élőben vagy egy másik parancs. Mezők és hibák."
canonical: https://docs.mss.gs/hu/buttons
language: hu
---

# Adj hozzá gombokat

Tegyél gombokat bármelyik kártya alá. Egy gomb megnyit egy linket, mindenkinek módosítja a kártyát abban a pillanatban, amikor valaki rákoppint, vagy jelzi a szolgáltatásodnak, hogy megnyomták.

## Mire használhatod

- **Nyiss meg egy linket** Küldd az embereket egy oldalra, egy irányítópultra vagy egy pull requesthez.

- **Módosítsd a kártyát egy koppintással** Szerkeszd, töröld, reagálj vagy válaszolj közvetlenül a gombnyomásból, saját szerver nélkül.

- **Értesülj minden gombnyomásról** A szolgáltatásod élőben megtudja, ki mit nyomott meg.

- **Futtass egy parancsot** Egy gomb elindíthatja a közösség valamelyik perjeles parancsát, adatokkal együtt.

Az alkalmazásban

#### Bejárati ajtó

Valaki csenget: megjelenik a kártya

#### Bejárati ajtó

Egy koppintás a Kapu nyitása gombra: a kártya mindenkinek megváltozik

Magához a változáshoz nem kell szerver: a lépések az üzenettel együtt vannak tárolva. A kapuvezérlőd értesül a gombnyomásról, és kinyitja a kaput.

- [Gyors kezdés](#quick-start)

- [Három típus](#kinds)

- [A kártya módosítása](#steps)

- [Gombnyomások fogadása](#listen)

- [Parancs futtatása](#trigger)

- [Mezők](#fields)

- [Hibák](#errors)

## Gyors kezdés

### Adj hozzá egy actions listát

A gombok az actions mezőbe kerülnek, a kártya mellé: egy [webhookos](https://docs.mss.gs/hu/webhooks) üzenetben, egy [parancsra](https://docs.mss.gs/hu/commands) adott válaszban vagy egy [frissítésben](https://docs.mss.gs/hu/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" }
  ]
}
```

#### Mehet a v2.1 élesbe?

- 2 Válaszd ki, mit tegyen egy gombnyomás Megnyithat egy linket, módosíthatja a kártyát, vagy meghívhatja a szolgáltatásodat. A három típust lent találod.

## Háromféle gomb

A type dönti el, mit tesz egy gombnyomás.

| Típus | Mit tesz egy gombnyomás | Eljut hozzád? |
| --- | --- | --- |
| url:{url} | Megnyitja a linket. | Nem |
| webhook_action | Lefuttatja a vele együtt tárolt lépéseket, a csatornában mindenkinek. | Igen, az üzenet stream_url címén |
| trigger:{guid} | Elindítja a közösség valamelyik triggerét a gomb payload értékével. | Igen, új kérésként az adott trigger URL-jére |

## A kártya módosítása egy koppintással

Egy webhook_action gomb lépések listáját hordozza a triggers mezőben. Gombnyomáskor ezek sorban lefutnak az mssgs szerverén, és az eredményt a csatornában mindenki látja.

| Lépés | Mit tesz, mindenkinek | Mezők |
| --- | --- | --- |
| update_message | Lecseréli a kártyát és a gombjait. Küldj "actions": [] értéket, ha el akarod tüntetni a gombokat. | message_container , actions , content |
| remove_message | Törli az üzenetet. | Nincs |
| add_reaction | Reakciót ad hozzá a gombot megnyomó tag nevében. | emoji |
| add_reply | Választ küld a gombot megnyomó tag nevében. | 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:" }
      ]
    }
  ]
}
```

## Gombnyomások fogadása

A gombos üzenetre a webhook egy stream_url címmel válaszol. Tartsd nyitva, és minden gombnyomás action típusú eseményként érkezik, a gomb azonosítójával, a tárolt gombbal és annak payload értékével, valamint azzal, hogy ki nyomta meg:

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

Végezd el a tényleges munkát, például nyisd ki a kaput, majd állítsd be a kártya végső állapotát a callback_url címen keresztül. A stream és a callback működését az [élő frissítések](https://docs.mss.gs/hu/live-updates) oldal írja le.

## Parancs futtatása gombbal

Egy trigger:{guid} gomb elindítja a közösséged valamelyik triggerét, mintha valaki begépelte volna a parancsot, és átadja a gomb payload értékét. A trigger ezt kapja:

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

## Mezők

| Mező | Típus | Mit csinál |
| --- | --- | --- |
| type | string | url:{url} , webhook_action vagy trigger:{guid} . Kötelező. |
| text | string | A gomb felirata. Kötelező; a label is működik. |
| color | string | A gomb színe, lásd lejjebb. |
| id | string | webhook_action esetén: melyik gombot nyomták meg. Az üzeneten belül egyedi. |
| payload | object | A saját adataid, gombnyomáskor visszakapod őket. |
| triggers | array | webhook_action esetén: a lefuttatandó lépések. |
| disabled | boolean | Szürkén jeleníti meg a gombot, a gombnyomásokat pedig elutasítja. |

### Színek

A green , a blue és a purple teli, elsődleges gombot rajzol. A red , az orange és a yellow másodlagosat: ezeket használd az „Elutasítás”, a „Mégse” és más óvatos választások gombjaihoz.

## Hibák

Amikor gombos üzenetet küldesz, az mssgs először ellenőrzi a gombokat:

| Kód | Jelentés |
| --- | --- |
| INVALID_ACTIONS_FORMAT | Az actions nem objektumok listája. |
| INVALID_ACTION_MISSING_FIELDS | Egy gombnak nincs type vagy text mezője. |
| DUPLICATE_ACTION_ID | Két gombnak ugyanaz az id értéke. |
| INVALID_TRIGGERS_FORMAT | A triggers nem lépések listája. |
| INVALID_TRIGGER_MISSING_ACTION | Egy lépésnek nincs action mezője. |
| INVALID_TRIGGER_ACTION_NOT_ALLOWED | A fenti négytől eltérő lépés. |

### Amikor valaki megnyomja

| Kód | Jelentés |
| --- | --- |
| MESSAGE_NOT_FOUND | Az üzenetet időközben törölték. |
| ACTION_NOT_FOUND | Az üzeneten nincs ilyen azonosítójú gomb. |
| ACTION_DISABLED | A gomb le van tiltva. |
| TRIGGER_NOT_FOUND , TRIGGER_NOT_ACTIVE | A trigger, amelyre a gomb mutat, már nem létezik, vagy ki van kapcsolva. |
| TRIGGER_NOT_ALLOWED | A tagnak nincs olyan szerepköre, amely használhatja ezt a triggert. |

## A régi dokumentációból jössz?

## Építs tovább
