---
title: "Карти на съобщения: какво може да покаже бот в mssgs"
description: "Създавайте съобщения от ботове в mssgs: заглавия, markdown, полета, изображения, статуси със статистика на diff, зареждане, разсъждения, цветове и конструктор."
canonical: https://docs.mss.gs/bg/bots
language: bg
---

# Оформете карти на съобщения

Всичко, което публикува бот, от уебхук, като отговор на команда или при обновяване след натиснат бутон, е карта. Добрата карта показва какво се е случило от пръв поглед: цветен ръб, заглавие, статус и подробностите отдолу.

## Какво можете да направите

- **Покажете статус** Цветен етикет като Open, Merged или Passing, с добавените и премахнатите редове.

- **Изброете подробностите** Редове с етикет и стойност, които членовете копират с едно докосване.

- **Пишете в markdown** Удебелен текст, код в реда, блокове код, цитати и отметки.

- **Покажете, че работите** Индикатор за зареждане, докато ботът мисли, а след това разсъжденията му зад превключвател.

В приложението

#### Отворен е pull request #212

По-бързо търсене в списъка с канали

#### Build #1847 е успешен

#### api.acme.com не работи

Четири карти така, както ги виждат членовете. Всяка е само няколко реда JSON.

- [Устройство](#anatomy)

- [Всички полета](#fields)

- [Статус и статистика на diff](#status)

- [Зареждане и разсъждения](#ai)

- [Системни съобщения](#system)

- [Цветове](#colors)

- [Създайте своя](#try)

## Устройство на картата

Частите на картата, отгоре надолу. Пропуснете това, което не ви трябва: карта само със заглавие също е наред.

#### Отворен е pull request #212

По-бързо търсене в списъка с канали

- **Горна част** „Message from“ и име: името на уебхука или, при отговор на команда, името на вашата общност. Отговорът може да добави badge , например хранилището.

- **Заглавие и статус** title , който става линк, когато зададете title_url , с етикета status до него.

- **Подзаглавие** Втори удебелен ред, sub_title .

- **Описание** Основният текст, в markdown.

- **Полета** Редове с етикет и стойност, с бутон за копиране.

- **Долна част** Часът, както и добавените и премахнатите редове, ако ги изпратите.

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

## Всички полета

Те се слагат в message_container . Картата трябва да има описание или индикатор за зареждане. Полетата с означение „Отговори на команди“ отпадат, когато публикувате чрез уебхук.

| Поле | Тип | Какво прави |
| --- | --- | --- |
| type | string | embed_message (по подразбиране) или system_message . |
| badge | string | Малък етикет след името в горната част, например acme/web . Отговори на команди |
| avatar_url | string | Изображение върху иконата на картата. |
| color | string | Цветът на ръба. Вижте цветовете по-долу. |
| title | string | Удебеленият първи ред. |
| title_url | string | Превръща заглавието в линк. |
| sub_title | string | Втори удебелен ред под заглавието. |
| description | string | Основният текст, в markdown. |
| fields | array | [{ "field": "…", "value": "…" }] : редове с етикет и стойност. |
| image_url , image_base64 | string | Изображение в картата. |
| images | array | [{ "image_url": "…" }] : галерия от няколко изображения. |
| status | object или string | Цветен етикет до заглавието. Вижте по-долу. Отговори на команди |
| additions , deletions , files_changed | number | Статистика на diff в долната част. Отговори на команди |
| loader , loader_text , loader_sub_text | boolean, string | Индикатор за зареждане вместо основния текст. |
| thinking | string | Разсъждения зад превключвателя **Show thinking**. Отговори на команди |

## Статус и статистика на diff

Етикетът за статус разказва историята, преди някой да прочете текста. Стои до заглавието или, ако няма заглавие, в долната част; статистиката на diff се показва до часа. И двете работят в отговори на команди и ги използва вградената интеграция с GitHub. Уебхукът ги премахва.

#### Pull request #212 е обединен

#### Build на main се провали

#### maya направи push в 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."
  }
}
```

| Поле | Тип | Какво прави |
| --- | --- | --- |
| status | object или string | Обикновен низ е самият етикет: "status": "Open" . |
| status.label | string | Текстът на етикета. Без него няма етикет. |
| status.color | string | green , purple , red , orange , yellow , blue или gray . |
| status.icon | string | Икона по избор от списъка по-долу. |
| additions | number | Добавени редове, показани в зелено като +86 . |
| deletions | number | Премахнати редове, показани в червено като -12 . |
| files_changed | number | Засегнати файлове, показани като 3 files . |

### Икони

| Стойност | Икона | Типична употреба |
| --- | --- | --- |
| pull_request | git-pull-request | Отворен pull request |
| pull_request_closed | git-pull-request-closed | Затворен без обединяване |
| merge , merged | git-merge | Обединен |
| commit | git-commit | Изпратен commit |
| issue | circle-dot | Отворен issue |
| issue_closed | circle-check | Затворен issue |
| check | circle-check | Тестовете минаха, задача завърши успешно |

### Съответствие, което работи за GitHub

Вградената интеграция с GitHub използва тези стойности; копирайте ги за собствените си инструменти.

| Събитие | Етикет | Цвят | Икона |
| --- | --- | --- | --- |
| Отворен pull request | Open | green | pull_request |
| Чернова | Draft | gray | pull_request |
| Обединен | Merged | purple | merged |
| Затворен без обединяване | Closed | red | pull_request_closed |
| Отворен issue | Open | green | issue |
| Затворен issue | Closed | purple | issue_closed |
| Изпратен commit | Commit | gray | commit |
| Тестовете минаха | Passing | green | check |
| Тестовете се провалиха | Failing | red | няма |

## Зареждане и разсъждения

За всичко, което отнема малко време, като AI отговор или дълга задача, първо публикувайте карта с индикатор за зареждане, а после я заменете с резултата. Индикаторът работи от уебхукове и в отговори на команди. В отговор на команда можете също да сложите разсъжденията на модела в thinking : членовете виждат превключвател **Show thinking** вместо стена от текст.

Първо: индикаторът за зареждане

maya: кога е standup-ът?

После: отговорът, с прибрани разсъждения

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

| Поле | Тип | Какво прави |
| --- | --- | --- |
| loader | boolean | true показва индикатора за зареждане вместо основния текст. |
| loader_text | string | Редът до индикатора, например „Мисля…“. |
| loader_sub_text | string | По-малък ред под него. |
| thinking | string | Сгънати разсъждения под описанието, в markdown. |

За да смените индикатора с отговора, обновете съобщението с нова карта без loader . Как става това, вижте в [обновления на живо](https://docs.mss.gs/bg/live-updates).

## Дълги описания

Описанието може да е до 50 000 байта. След първите 1000 членовете виждат началото и бутон **Show more**, който зарежда останалото, така че дълъг отчет не залива канала.

## Системни съобщения

Задайте "type": "system_message" за известие вместо публикация от бот: планирана поддръжка, промени в правилата, всичко, което говори от името на самата общност. Приема същите полета и бутони.

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

## Цветове

Цветът на ръба е най-бързият сигнал в картата. Използвайте всеки път един и същ цвят за един и същ вид новини.

| Цвят | Използвайте го за |
| --- | --- |
| green | Успех: минало, внедрено, готово |
| red | Неуспех: провалено, недостъпно, отхвърлено |
| orange | Предупреждение, което трябва да се погледне |
| yellow | Чака някого: одобрения, въпроси |
| blue | Информация, по подразбиране |
| purple | Събития в кода или нещо специално |

## Създайте своя embed

Редактирайте полетата или JSON payload-а: двете се променят заедно. Визуализацията показва съобщението точно както ще изглежда в канала. Това е истинското тяло на уебхука; копирайте го, когато всичко е наред.

## Продължете нататък
