---
title: "Mygtukai: interaktyvios mssgs žinutės"
description: "Mygtukai po mssgs kortele: atidaryk nuorodą, vienu paspaudimu pakeisk kortelę visiems, gauk kiekvieną paspaudimą gyvai ar paleisk komandą. Laukai ir klaidos."
canonical: https://docs.mss.gs/lt/buttons
language: lt
---

# Pridėk mygtukus

Pridėk mygtukus po bet kuria kortele. Mygtukas atidaro nuorodą, pakeičia kortelę visiems tą akimirką, kai kas nors jį paspaudžia, arba praneša tavo paslaugai, kad buvo paspaustas.

## Ką gali padaryti

- **Atidaryk nuorodą** Nukreipk žmones į puslapį, skydelį ar pull request.

- **Pakeisk kortelę vienu paspaudimu** Redaguok ją, pašalink, sureaguok ar atsakyk tiesiai iš paspaudimo, be savo serverio.

- **Gauk kiekvieną paspaudimą** Tavo paslauga gyvai sužino, kas ką paspaudė.

- **Paleisk komandą** Mygtukas gali paleisti vieną iš bendruomenės komandų su pasviruoju brūkšniu, kartu su duomenimis.

Programėlėje

#### Lauko durys

Kažkas skambina: atsiranda kortelė

#### Lauko durys

Paspaudus „Atidaryti vartus“, kortelė pasikeičia visiems

Pačiam pakeitimui serverio nereikia: žingsniai saugomi kartu su žinute. Tavo vartų valdiklis gauna paspaudimą ir atidaro vartus.

- [Greita pradžia](#quick-start)

- [Trys rūšys](#kinds)

- [Kortelės keitimas](#steps)

- [Paspaudimų gavimas](#listen)

- [Komandos paleidimas](#trigger)

- [Laukai](#fields)

- [Klaidos](#errors)

## Greita pradžia

### Pridėk actions sąrašą

Mygtukai dedami į actions , šalia kortelės: [webhook](https://docs.mss.gs/lt/webhooks) įraše, atsakyme į [komandą](https://docs.mss.gs/lt/commands) arba [atnaujinime](https://docs.mss.gs/lt/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" }
  ]
}
```

#### Diegti v2.1 į produkciją?

- 2 Pasirink, ką daro paspaudimas Nuoroda, kortelės pakeitimas arba kreipimasis į tavo paslaugą. Trys rūšys aprašytos toliau.

## Trys mygtukų rūšys

Ką daro paspaudimas, lemia type .

| Tipas | Ką daro paspaudimas | Ar pasiekia tave |
| --- | --- | --- |
| url:{url} | Atidaro nuorodą. | Ne |
| webhook_action | Vykdo su juo išsaugotus žingsnius, visiems kanale. | Taip, per žinutės stream_url |
| trigger:{guid} | Paleidžia vieną iš bendruomenės trigerių su mygtuko payload . | Taip, kaip nauja užklausa į to trigerio URL |

## Kortelės keitimas vienu paspaudimu

webhook_action mygtukas turi žingsnių sąrašą lauke triggers . Paspaudus jie paeiliui vykdomi mssgs serveryje, o rezultatą mato visi kanale.

| Žingsnis | Ką daro, visiems | Laukai |
| --- | --- | --- |
| update_message | Pakeičia kortelę ir jos mygtukus. Siųsk "actions": [] , kad pašalintum mygtukus. | message_container , actions , content |
| remove_message | Ištrina žinutę. | Nėra |
| add_reaction | Prideda reakciją paspaudusio nario vardu. | emoji |
| add_reply | Paskelbia atsakymą paspaudusio nario vardu. | 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:" }
      ]
    }
  ]
}
```

## Paspaudimų gavimas

Žinutė su mygtukais grįžta iš webhook su stream_url . Laikyk jį atidarytą, ir kiekvienas paspaudimas ateis kaip action tipo įvykis su mygtuko id, išsaugotu mygtuku ir jo payload bei informacija, kas jį paspaudė:

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

Atlik tikrąjį darbą, pavyzdžiui, atidaryk vartus, tada per callback_url nustatyk galutinę kortelės būseną. Kaip veikia srautas ir callback, rasi puslapyje [atnaujinimai realiuoju laiku](https://docs.mss.gs/lt/live-updates).

## Komandos paleidimas mygtuku

trigger:{guid} mygtukas paleidžia vieną iš tavo bendruomenės trigerių, lyg kas nors būtų įvedęs komandą, ir perduoda mygtuko payload . Trigeris gauna:

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

## Laukai

| Laukas | Tipas | Ką daro |
| --- | --- | --- |
| type | string | url:{url} , webhook_action arba trigger:{guid} . Privalomas. |
| text | string | Užrašas ant mygtuko. Privalomas; tinka ir label . |
| color | string | Mygtuko spalva, žr. toliau. |
| id | string | webhook_action atveju: kuris mygtukas paspaustas. Unikalus žinutėje. |
| payload | object | Tavo duomenys, grąžinami paspaudus. |
| triggers | array | webhook_action atveju: vykdomi žingsniai. |
| disabled | boolean | Rodo mygtuką papilkintą, o paspaudimai atmetami. |

### Spalvos

green , blue ir purple piešia vientisą, pagrindinį mygtuką. red , orange ir yellow piešia antrinį: naudok juos „Atmesti“, „Atšaukti“ ir kitiems atsargiems pasirinkimams.

## Klaidos

Kai skelbi žinutę su mygtukais, mssgs pirmiausia juos patikrina:

| Kodas | Reikšmė |
| --- | --- |
| INVALID_ACTIONS_FORMAT | actions nėra objektų sąrašas. |
| INVALID_ACTION_MISSING_FIELDS | Mygtukas neturi type arba text . |
| DUPLICATE_ACTION_ID | Du mygtukai turi tą patį id . |
| INVALID_TRIGGERS_FORMAT | triggers nėra žingsnių sąrašas. |
| INVALID_TRIGGER_MISSING_ACTION | Žingsnis neturi action . |
| INVALID_TRIGGER_ACTION_NOT_ALLOWED | Žingsnis, kuris nėra vienas iš keturių aukščiau. |

### Kai kas nors paspaudžia

| Kodas | Reikšmė |
| --- | --- |
| MESSAGE_NOT_FOUND | Žinutė per tą laiką buvo ištrinta. |
| ACTION_NOT_FOUND | Žinutėje nėra mygtuko su tokiu id. |
| ACTION_DISABLED | Mygtukas išjungtas. |
| TRIGGER_NOT_FOUND , TRIGGER_NOT_ACTIVE | Trigeris, į kurį rodo mygtukas, nebeegzistuoja arba išjungtas. |
| TRIGGER_NOT_ALLOWED | Narys neturi rolės, kuriai leidžiama naudoti tą trigerį. |

## Ateini iš senosios dokumentacijos?

## Kurk toliau
