---
title: "Meddelandekort: vad ett botmeddelande i mssgs kan visa"
description: "Designa botmeddelanden för mssgs: rubriker, markdown, fält, bilder, statuspiller med diff-statistik, laddning, tänkande och färger. Med en live-byggare."
canonical: https://docs.mss.gs/sv/bots
language: sv
---

# Designa meddelandekort

Allt en bot postar, från en webhook, ett kommandosvar eller en knappuppdatering, är ett kort. Ett bra kort visar vad som har hänt med en blick: en färgad kant, en rubrik, en status och detaljerna under.

## Det här kan du göra

- **Visa en status** En färgad pill som Öppen, Mergad eller Godkänd, med tillagda och borttagna rader.

- **Lista detaljerna** Rader med etikett och värde som medlemmarna kan kopiera med ett tryck.

- **Skriv i markdown** Fetstil, inline-kod, kodblock, citat och kryssrutor.

- **Visa att du arbetar** En spinner medan din bot tänker, och dess resonemang bakom en växlare efteråt.

I appen

#### Pull request #212 öppnad

Snabbare sökning i kanallistan

#### Bygge #1847 lyckades

#### api.acme.com ligger nere

Fyra kort som medlemmarna ser dem. Vart och ett är några rader JSON.

- [Anatomi](#anatomy)

- [Alla fält](#fields)

- [Status och diff-statistik](#status)

- [Laddning och tänkande](#ai)

- [Systemmeddelanden](#system)

- [Färger](#colors)

- [Bygg ett](#try)

## Ett korts anatomi

Kortets delar, uppifrån och ned. Utelämna det du inte behöver: ett kort med bara en rubrik går bra.

#### Pull request #212 öppnad

Snabbare sökning i kanallistan

- **Sidhuvud** "Meddelande från" och ett namn: webhookens namn, eller din communitys namn för ett kommandosvar. Ett svar kan lägga till ett badge , som repot.

- **Rubrik och status** title , en länk när du anger title_url , med status -pillen bredvid.

- **Underrubrik** En andra rad i fetstil, sub_title .

- **Beskrivning** Brödtexten, i markdown.

- **Fält** Rader med etikett och värde, med en kopieringsknapp.

- **Sidfot** Tiden, och tillagda och borttagna rader om du skickar dem.

```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
  }
}
```

## Alla fält

De här ligger i message_container . Ett kort behöver en beskrivning, eller ett laddningsläge. Fält som är märkta "Kommandosvar" tas bort när du postar via en webhook.

| Fält | Typ | Vad det gör |
| --- | --- | --- |
| type | string | embed_message (standard) eller system_message . |
| badge | string | Ett litet märke efter namnet i sidhuvudet, som acme/web . Kommandosvar |
| avatar_url | string | En bild ovanpå kortets ikon. |
| color | string | Kantens färg. Se färger nedan. |
| title | string | Den första raden, i fetstil. |
| title_url | string | Gör rubriken till en länk. |
| sub_title | string | En andra rad i fetstil under rubriken. |
| description | string | Brödtexten, i markdown. |
| fields | array | [{ "field": "…", "value": "…" }] : rader med etikett och värde. |
| image_url , image_base64 | string | En bild på kortet. |
| images | array | [{ "image_url": "…" }] : ett galleri med flera bilder. |
| status | object eller string | En färgad pill bredvid rubriken. Se nedan. Kommandosvar |
| additions , deletions , files_changed | number | Diff-statistik i sidfoten. Kommandosvar |
| loader , loader_text , loader_sub_text | boolean, string | En spinner i stället för brödtexten. |
| thinking | string | Resonemang bakom en **Visa tänkande**-växlare. Kommandosvar |

## Status och diff-statistik

En statuspill berättar historien innan någon har läst texten. Den sitter bredvid rubriken, eller i sidfoten när det inte finns någon rubrik; diff-statistiken visas bredvid tiden. Båda fungerar i kommandosvar, och den inbyggda GitHub-integrationen använder dem. En webhook tar bort dem.

#### Pull request #212 mergad

#### Bygget misslyckades på main

#### maya pushade till main

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

| Fält | Typ | Vad det gör |
| --- | --- | --- |
| status | object eller string | En ensam sträng är etiketten: "status": "Open" . |
| status.label | string | Texten i pillen. Utan den blir det ingen pill. |
| status.color | string | green , purple , red , orange , yellow , blue eller gray . |
| status.icon | string | En valfri ikon ur listan nedan. |
| additions | number | Tillagda rader, visas som grönt +86 . |
| deletions | number | Borttagna rader, visas som rött -12 . |
| files_changed | number | Ändrade filer, visas som 3 files . |

### Ikoner

| Värde | Ikon | Typisk användning |
| --- | --- | --- |
| pull_request | git-pull-request | En pull request har öppnats |
| pull_request_closed | git-pull-request-closed | Stängd utan merge |
| merge , merged | git-merge | Mergad |
| commit | git-commit | En pushad commit |
| issue | circle-dot | En issue har öppnats |
| issue_closed | circle-check | En issue har stängts |
| check | circle-check | Testerna gick igenom, ett jobb lyckades |

### En mappning som fungerar för GitHub

Den inbyggda GitHub-integrationen använder de här etiketterna; kopiera dem till dina egna verktyg.

| Händelse | Etikett | Färg | Ikon |
| --- | --- | --- | --- |
| Pull request öppnad | Open | green | pull_request |
| Utkast | Draft | gray | pull_request |
| Mergad | Merged | purple | merged |
| Stängd utan merge | Closed | red | pull_request_closed |
| Issue öppnad | Open | green | issue |
| Issue stängd | Closed | purple | issue_closed |
| Commit pushad | Commit | gray | commit |
| Testerna gick igenom | Passing | green | check |
| Testerna misslyckades | Failing | red | ingen |

## Laddning och tänkande

För allt som tar en stund, som ett AI-svar eller ett långt jobb, postar du först ett kort med en spinner och ersätter det sedan med resultatet. Laddningsläget fungerar från webhooks och kommandosvar. I ett kommandosvar kan du också lägga modellens resonemang i thinking : medlemmarna ser en **Visa tänkande**-växlare i stället för en vägg av text.

Först: laddningskortet

maya: när är standupen?

Sedan: svaret, med resonemanget hopfällt

```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…"
  }
}
```

| Fält | Typ | Vad det gör |
| --- | --- | --- |
| loader | boolean | true visar spinnern i stället för brödtexten. |
| loader_text | string | Raden bredvid spinnern, som "Tänker…". |
| loader_sub_text | string | En mindre rad under den. |
| thinking | string | Hopfällt resonemang under beskrivningen, i markdown. |

För att byta laddningskortet mot svaret uppdaterar du meddelandet med ett nytt kort utan loader . Hur det går till står under [liveuppdateringar](https://docs.mss.gs/sv/live-updates).

## Långa beskrivningar

En beskrivning kan vara upp till 50 000 byte. Efter de första 1 000 ser medlemmarna början och en **Visa mer**-knapp som laddar resten, så att en lång rapport inte översvämmar kanalen.

## Systemmeddelanden

Ange "type": "system_message" för ett meddelande som talar för communityn snarare än ett botinlägg: underhållsfönster, ändrade regler, allt där communityn själv har ordet. Det tar samma fält och knappar.

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

## Färger

Kantens färg är den snabbaste signalen på ett kort. Använd samma färg för samma sorts nyhet, varje gång.

| Färg | Använd den för |
| --- | --- |
| green | Lyckat: godkänt, driftsatt, klart |
| red | Misslyckat: fel, nere, avvisat |
| orange | En varning som behöver en titt |
| yellow | Väntar på någon: godkännanden, frågor |
| blue | Information, standard |
| purple | Kodhändelser, eller något speciellt |

## Bygg din embed

Redigera fälten eller JSON-payloaden. Båda hålls synkade. Se meddelandet visas exakt som i en kanal. Det här är den riktiga webhook-bodyn; kopiera den när den ser rätt ut.

## Bygg vidare
