---
title: "Painikkeet: interaktiiviset mssgs-viestit"
description: "Lisää painikkeita mssgs-kortin alle: avaa linkki, muuta korttia kaikille napautuksella, kuule painallukset livenä tai aja komento. Kentät, vaiheet ja virheet."
canonical: https://mss.gs/fi/docs/buttons
language: fi
---

# Lisää painikkeita

Lisää painikkeita minkä tahansa kortin alle. Painike avaa linkin, muuttaa korttia kaikille heti, kun joku napauttaa sitä, tai kertoo palvelullesi, että sitä painettiin.

## Mitä voit tehdä

- **Avaa linkki** Ohjaa ihmiset sivulle, hallintapaneeliin tai pull requestiin.

- **Muuta korttia napautuksella** Muokkaa sitä, poista se, reagoi tai vastaa suoraan painalluksesta ilman omaa palvelinta.

- **Kuule jokainen painallus** Palvelusi saa livenä tietää, kuka painoi mitäkin.

- **Aja komento** Painike voi laukaista jonkin yhteisön kauttaviivakomennoista, datan kera.

Sovelluksessa

#### Etuovi

Joku soittaa ovikelloa: kortti ilmestyy

#### Etuovi

Napautus Avaa portti -painikkeeseen: kortti muuttuu kaikille

Itse muutokseen ei tarvita palvelinta: vaiheet on tallennettu viestin mukana. Porttiohjaimesi kuulee painalluksen ja avaa portin.

- [Pika-aloitus](#quick-start)

- [Kolme tyyppiä](#kinds)

- [Muuta korttia](#steps)

- [Kuule painallus](#listen)

- [Aja komento](#trigger)

- [Kentät](#fields)

- [Virheet](#errors)

## Pika-aloitus

### Lisää actions-lista

Painikkeet kuuluvat kenttään actions kortin rinnalle, [webhook](https://mss.gs/fi/docs/webhooks)-julkaisussa, [komennon](https://mss.gs/fi/docs/commands) vastauksessa tai [päivityksessä](https://mss.gs/fi/docs/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" }
  ]
}
```

#### Viedäänkö v2.1 tuotantoon?

- 2 Valitse, mitä painallus tekee Linkki, muutos korttiin tai kutsu palveluusi. Kolme tyyppiä on kuvattu alla.

## Kolme painiketyyppiä

type ratkaisee, mitä painallus tekee.

| Tyyppi | Mitä painallus tekee | Tavoittaa sinut |
| --- | --- | --- |
| url:{url} | Avaa linkin. | Ei |
| webhook_action | Suorittaa sen mukana tallentamasi vaiheet kaikille kanavalla. | Kyllä, viestin stream_url -virrassa |
| trigger:{guid} | Laukaisee jonkin yhteisön liipaisimista painikkeen payload -datan kanssa. | Kyllä, uutena pyyntönä kyseisen liipaisimen URL:iin |

## Muuta korttia napautuksella

webhook_action -painikkeessa on vaihelista kentässä triggers . Painettaessa vaiheet suoritetaan mssgs:n palvelimella järjestyksessä, ja kaikki kanavalla näkevät tuloksen.

| Vaihe | Mitä se tekee kaikille | Kentät |
| --- | --- | --- |
| update_message | Korvaa kortin ja sen painikkeet. Lähetä "actions": [] , niin painikkeet poistuvat. | message_container , actions , content |
| remove_message | Poistaa viestin. | Ei kenttiä |
| add_reaction | Lisää reaktion painajan nimissä. | emoji |
| add_reply | Julkaisee vastauksen painajan nimissä. | 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:" }
      ]
    }
  ]
}
```

## Kuule painallus

Painikkeellinen viesti palaa webhookista stream_url -osoitteen kanssa. Pidä virta auki, niin jokainen painallus saapuu action -tyyppisenä tapahtumana, jossa ovat painikkeen id, tallennettu painike ja sen payload sekä painaja:

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

Tee varsinainen työ, kuten portin avaaminen, ja aseta sitten kortin lopullinen tila callback_url -osoitteen kautta. Virran ja callbackin toiminta on kuvattu sivulla [live-päivitykset](https://mss.gs/fi/docs/live-updates).

## Aja komento painikkeesta

trigger:{guid} -painike laukaisee jonkin yhteisösi liipaisimista ikään kuin joku olisi kirjoittanut komennon, ja välittää painikkeen payload -datan. Liipaisin saa:

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

## Kentät

| Kenttä | Tyyppi | Mitä se tekee |
| --- | --- | --- |
| type | string | url:{url} , webhook_action tai trigger:{guid} . Pakollinen. |
| text | string | Painikkeen teksti. Pakollinen; myös label käy. |
| color | string | Painikkeen väri, katso alta. |
| id | string | webhook_action -painikkeelle: mitä painiketta painettiin. Yksilöllinen viestin sisällä. |
| payload | object | Omaa dataasi, joka palautetaan painettaessa. |
| triggers | array | webhook_action -painikkeelle: suoritettavat vaiheet. |
| disabled | boolean | Näyttää painikkeen harmaana, ja painallukset hylätään. |

### Värit

green , blue ja purple piirtävät täytetyn ensisijaisen painikkeen. red , orange ja yellow piirtävät toissijaisen: käytä niitä valinnoissa kuten "Hylkää" ja "Peruuta" sekä muissa harkintaa vaativissa.

## Virheet

Kun julkaiset painikkeellisen viestin, mssgs tarkistaa painikkeet ensin:

| Koodi | Merkitys |
| --- | --- |
| INVALID_ACTIONS_FORMAT | actions ei ole lista olioita. |
| INVALID_ACTION_MISSING_FIELDS | Painikkeelta puuttuu type tai text . |
| DUPLICATE_ACTION_ID | Kahdella painikkeella on sama id . |
| INVALID_TRIGGERS_FORMAT | triggers ei ole vaihelista. |
| INVALID_TRIGGER_MISSING_ACTION | Vaiheelta puuttuu action . |
| INVALID_TRIGGER_ACTION_NOT_ALLOWED | Jokin muu vaihe kuin yllä olevat neljä. |

### Kun joku painaa

| Koodi | Merkitys |
| --- | --- |
| MESSAGE_NOT_FOUND | Viesti poistettiin sillä välin. |
| ACTION_NOT_FOUND | Viestissä ei ole painiketta tällä id:llä. |
| ACTION_DISABLED | Painike on poistettu käytöstä. |
| TRIGGER_NOT_FOUND , TRIGGER_NOT_ACTIVE | Liipaisin, johon painike osoittaa, on poistettu tai kytketty pois päältä. |
| TRIGGER_NOT_ALLOWED | Jäsenellä ei ole roolia, joka saa käyttää kyseistä liipaisinta. |

## Tuletko vanhoista ohjeista?

## Jatka rakentamista
