---
title: "Viestikortit: mitä mssgs-bottiviesti voi näyttää"
description: "Suunnittele mssgs-bottiviestejä: otsikot, markdown, kentät, kuvat, tilapillerit diff-lukuineen, lataus- ja ajattelutilat sekä värit. Mukana live-korttityökalu."
canonical: https://docs.mss.gs/fi/bots
language: fi
---

# Suunnittele viestikortteja

Kaikki, mitä botti julkaisee, tuli se sitten webhookista, komentovastauksesta tai painikkeen päivityksestä, on kortti. Hyvä kortti kertoo yhdellä silmäyksellä, mitä tapahtui: värillinen reuna, otsikko, tila ja yksityiskohdat sen alla.

## Mitä voit tehdä

- **Näytä tila** Värillinen pilleri, kuten Avoin, Yhdistetty tai Läpi, sekä lisätyt ja poistetut rivit.

- **Listaa yksityiskohdat** Nimike- ja arvorivejä, jotka jäsenet voivat kopioida yhdellä napautuksella.

- **Kirjoita markdownilla** Lihavointi, inline-koodi, koodilohkot, lainaukset ja valintaruudut.

- **Näytä, että työskentelet** Latausilmaisin sillä aikaa, kun bottisi miettii, ja jälkeenpäin sen päättely valitsimen takana.

Sovelluksessa

#### Pull request #212 avattu

Nopeampi haku kanavalistassa

#### Build #1847 onnistui

#### api.acme.com on alhaalla

Neljä korttia sellaisina kuin jäsenet ne näkevät. Jokainen on muutama rivi JSONia.

- [Rakenne](#anatomy)

- [Kaikki kentät](#fields)

- [Tila ja diff-luvut](#status)

- [Lataus ja ajattelu](#ai)

- [Järjestelmäviestit](#system)

- [Värit](#colors)

- [Rakenna oma](#try)

## Kortin rakenne

Kortin osat ylhäältä alas. Jätä pois se, mitä et tarvitse: pelkkä otsikkokin riittää kortiksi.

#### Pull request #212 avattu

Nopeampi haku kanavalistassa

- **Otsake** "Viesti lähettäjältä" ja nimi: webhookin nimi, tai komentovastauksessa yhteisösi nimi. Vastaukseen voi lisätä badge -merkin, esimerkiksi repositorion.

- **Otsikko ja tila** title , joka on linkki, kun asetat title_url -kentän, ja sen vieressä status -pilleri.

- **Alaotsikko** Toinen lihavoitu rivi, sub_title .

- **Kuvaus** Runko, markdownina.

- **Kentät** Nimike- ja arvorivejä kopiointipainikkeella.

- **Alatunniste** Aika sekä lisätyt ja poistetut rivit, jos lähetät ne.

```json
{
  "message_container": {
    "type": "embed_message",
    "badge": "acme/web",
    "color": "purple",
    "title": "Pull request #212 opened",
    "title_url": "https://github.com/acme/web/pull/212",
    "status": { "label": "Open", "color": "green", "icon": "pull_request" },
    "sub_title": "Faster search in the channel list",
    "description": "Search now runs **per keystroke** with a 120 ms debounce.",
    "fields": [
      { "field": "Author", "value": "maya" },
      { "field": "Reviewers", "value": "dani, sam" }
    ],
    "additions": 86,
    "deletions": 12,
    "files_changed": 3
  }
}
```

## Kaikki kentät

Nämä kuuluvat message_container -olioon. Kortti tarvitsee kuvauksen tai latausilmaisimen. Merkinnällä "Komentovastaukset" varustetut kentät pudotetaan pois, kun julkaiset webhookin kautta.

| Kenttä | Tyyppi | Mitä se tekee |
| --- | --- | --- |
| type | string | embed_message (oletus) tai system_message . |
| badge | string | Pieni siru nimen perässä otsakkeessa, esimerkiksi acme/web . Komentovastaukset |
| avatar_url | string | Kuva kortin kuvakkeen päällä. |
| color | string | Reunan väri. Katso värit alta. |
| title | string | Lihavoitu ensimmäinen rivi. |
| title_url | string | Tekee otsikosta linkin. |
| sub_title | string | Toinen lihavoitu rivi otsikon alla. |
| description | string | Runko, markdownina. |
| fields | array | [{ "field": "…", "value": "…" }] : nimike- ja arvorivit. |
| image_url , image_base64 | string | Kuva kortissa. |
| images | array | [{ "image_url": "…" }] : usean kuvan galleria. |
| status | object tai string | Värillinen pilleri otsikon vieressä. Katso alta. Komentovastaukset |
| additions , deletions , files_changed | number | Diff-luvut alatunnisteessa. Komentovastaukset |
| loader , loader_text , loader_sub_text | boolean, string | Latausilmaisin rungon tilalla. |
| thinking | string | Päättely **Näytä ajattelu** -valitsimen takana. Komentovastaukset |

## Tila ja diff-luvut

Tilapilleri kertoo tarinan ennen kuin kukaan lukee tekstiä. Se on otsikon vieressä, tai alatunnisteessa, jos otsikkoa ei ole; diff-luvut näkyvät ajan vieressä. Molemmat toimivat komentovastauksissa, ja sisäänrakennettu GitHub-integraatio käyttää niitä. Webhook pudottaa ne pois.

#### Pull request #212 yhdistetty

#### Build epäonnistui main-haarassa

#### maya pushasi main-haaraan

```json
{
  "message_container": {
    "color": "red",
    "title": "Build failed on main",
    "status": { "label": "Failing", "color": "red" },
    "description": "`search.test.js`: 2 of 212 tests failed."
  }
}
```

| Kenttä | Tyyppi | Mitä se tekee |
| --- | --- | --- |
| status | object tai string | Pelkkä merkkijono on nimike: "status": "Open" . |
| status.label | string | Pillerin teksti. Ilman sitä pilleriä ei ole. |
| status.color | string | green , purple , red , orange , yellow , blue tai gray . |
| status.icon | string | Valinnainen kuvake alla olevasta listasta. |
| additions | number | Lisätyt rivit, näkyvät vihreänä +86 . |
| deletions | number | Poistetut rivit, näkyvät punaisena -12 . |
| files_changed | number | Muutetut tiedostot, näkyvät muodossa 3 files . |

### Kuvakkeet

| Arvo | Kuvake | Tyypillinen käyttö |
| --- | --- | --- |
| pull_request | git-pull-request | Pull request avattu |
| pull_request_closed | git-pull-request-closed | Suljettu yhdistämättä |
| merge , merged | git-merge | Yhdistetty |
| commit | git-commit | Pushattu commit |
| issue | circle-dot | Issue avattu |
| issue_closed | circle-check | Issue suljettu |
| check | circle-check | Testit läpi, työ onnistui |

### GitHubille sopiva vastaavuus

Sisäänrakennettu GitHub-integraatio käyttää näitä; kopioi ne omiin työkaluihisi.

| Tapahtuma | Nimike | Väri | Kuvake |
| --- | --- | --- | --- |
| Pull request avattu | Open | green | pull_request |
| Luonnos | Draft | gray | pull_request |
| Yhdistetty | Merged | purple | merged |
| Suljettu yhdistämättä | Closed | red | pull_request_closed |
| Issue avattu | Open | green | issue |
| Issue suljettu | Closed | purple | issue_closed |
| Commit pushattu | Commit | gray | commit |
| Testit läpi | Passing | green | check |
| Testit epäonnistuivat | Failing | red | ei kuvaketta |

## Lataus ja ajattelu

Kun jokin vie hetken, kuten tekoälyn vastaus tai pitkä työ, julkaise ensin kortti latausilmaisimella ja korvaa se sitten tuloksella. Latausilmaisin toimii webhookeista ja komentovastauksista. Komentovastauksessa voit lisäksi laittaa mallin päättelyn kenttään thinking : jäsenet näkevät **Näytä ajattelu** -valitsimen tekstimuurin sijaan.

Ensin: latausilmaisin

maya: milloin standup on?

Sitten: vastaus, päättely piilossa

```json
{
  "message_container": {
    "type": "embed_message",
    "color": "blue",
    "loader": true,
    "loader_text": "Thinking…",
    "loader_sub_text": "Reading the last 50 messages"
  }
}
```

```json
{
  "message_container": {
    "type": "embed_message",
    "color": "blue",
    "sub_title": "maya: when is the standup?",
    "description": "Standup is at **09:30**, in #daily.",
    "thinking": "Checked the pinned messages and the recurring event in #daily…"
  }
}
```

| Kenttä | Tyyppi | Mitä se tekee |
| --- | --- | --- |
| loader | boolean | true näyttää latausilmaisimen rungon tilalla. |
| loader_text | string | Rivi latausilmaisimen vieressä, esimerkiksi "Ajattelee…". |
| loader_sub_text | string | Pienempi rivi sen alla. |
| thinking | string | Kokoontaitettu päättely kuvauksen alla, markdownina. |

Vaihda latausilmaisin vastaukseen päivittämällä viesti uudella kortilla, josta loader puuttuu. Ohjeet ovat sivulla [live-päivitykset](https://docs.mss.gs/fi/live-updates).

## Pitkät kuvaukset

Kuvaus voi olla enintään 50 000 tavua. Ensimmäisten 1 000 tavun jälkeen jäsenet näkevät alun ja **Näytä lisää** -painikkeen, joka lataa loput, joten pitkä raportti ei tulvi kanavaa täyteen.

## Järjestelmäviestit

Aseta "type": "system_message" , kun kyse on ilmoituksesta eikä bottiviestistä: huoltokatkot, sääntömuutokset ja kaikki muu, missä yhteisö itse on äänessä. Se ottaa vastaan samat kentät ja painikkeet.

```json
{
  "message_container": {
    "type": "system_message",
    "color": "orange",
    "title": "Maintenance tonight",
    "description": "The build servers are down from 22:00 to 23:00."
  }
}
```

## Värit

Reunan väri on kortin nopein signaali. Käytä samaa väriä samanlaisille uutisille, joka kerta.

| Väri | Käyttötarkoitus |
| --- | --- |
| green | Onnistuminen: läpi, julkaistu, valmis |
| red | Epäonnistuminen: epäonnistui, alhaalla, hylätty |
| orange | Varoitus, joka kannattaa tarkistaa |
| yellow | Odottaa jotakuta: hyväksynnät, kysymykset |
| blue | Tiedoksi, oletus |
| purple | Koodin tapahtumat tai jotain erityistä |

## Rakenna oma embed

Muokkaa kenttiä tai JSON-payloadia. Ne pysyvät synkronoituina. Näet viestin täsmälleen sellaisena kuin se näkyy kanavalla. Tämä on oikea webhook-body; kopioi se, kun se näyttää oikealta.

## Jatka rakentamista
