---
title: "Mesaj kartları: bir mssgs bot mesajı neler gösterebilir"
description: "mssgs için bot mesajları tasarla: başlıklar, markdown, alanlar, görseller, durum kapsülleri, yükleme durumları ve renkler. Canlı bir kart oluşturucuyla."
canonical: https://docs.mss.gs/tr/bots
language: tr
---

# Mesaj kartları tasarla

Bir botun gönderdiği her şey, ister bir webhook’tan, ister bir komut yanıtından, ister bir düğme güncellemesinden gelsin, bir karttır. İyi bir kart ne olduğunu tek bakışta anlatır: renkli bir kenar, bir başlık, bir durum ve altında ayrıntılar.

## Neler yapabilirsin

- **Durum göster** Open, Merged ya da Passing gibi renkli bir kapsül, eklenen ve silinen satırlarla birlikte.

- **Ayrıntıları listele** Üyelerin tek dokunuşla kopyalayabildiği etiket ve değer satırları.

- **Markdown ile yaz** Kalın, satır içi kod, kod blokları, alıntılar ve onay kutuları.

- **Çalıştığını göster** Botun düşünürken dönen bir yükleme simgesi, ardından bir aç/kapa düğmesinin arkasında akıl yürütmesi.

Uygulamada

#### Pull request #212 açıldı

Kanal listesinde daha hızlı arama

#### Build #1847 başarılı

#### api.acme.com çalışmıyor

Üyelerin gördüğü haliyle dört kart. Her biri birkaç satır JSON.

- [Anatomi](#anatomy)

- [Tüm alanlar](#fields)

- [Durum ve diff istatistikleri](#status)

- [Yükleme ve akıl yürütme](#ai)

- [Sistem mesajları](#system)

- [Renkler](#colors)

- [Kendin oluştur](#try)

## Bir kartın anatomisi

Bir kartın bölümleri, yukarıdan aşağıya. İhtiyacın olmayanı çıkar: yalnızca başlığı olan bir kart da olur.

#### Pull request #212 açıldı

Kanal listesinde daha hızlı arama

- **Üst bilgi** “Message from” ve bir ad: webhook’un adı ya da bir komut yanıtında topluluğunun adı. Bir yanıt, örneğin depo adı gibi bir badge ekleyebilir.

- **Başlık ve durum** title_url ayarladığında bağlantıya dönüşen title ve yanında status kapsülü.

- **Alt başlık** İkinci bir kalın satır, sub_title .

- **Açıklama** Markdown ile yazılan gövde.

- **Alanlar** Kopyalama düğmeli etiket ve değer satırları.

- **Alt bilgi** Saat ve gönderirsen eklenen ve silinen satırlar.

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

## Tüm alanlar

Bunlar message_container içine girer. Bir kartın bir açıklamaya ya da bir yükleme göstergesine ihtiyacı vardır. “Komut yanıtları” olarak işaretlenen alanlar, webhook üzerinden gönderdiğinde atılır.

| Alan | Tür | Ne yapar |
| --- | --- | --- |
| type | string | embed_message (varsayılan) ya da system_message . |
| badge | string | Üst bilgide adın ardından gelen küçük bir rozet, örneğin acme/web . Komut yanıtları |
| avatar_url | string | Kartın simgesinin üzerine gelen bir görsel. |
| color | string | Kenar rengi. Aşağıdaki renklere bak. |
| title | string | Kalın ilk satır. |
| title_url | string | Başlığı bir bağlantıya dönüştürür. |
| sub_title | string | Başlığın altında ikinci bir kalın satır. |
| description | string | Markdown ile yazılan gövde. |
| fields | array | [{ "field": "…", "value": "…" }] : etiket ve değer satırları. |
| image_url , image_base64 | string | Kartta bir görsel. |
| images | array | [{ "image_url": "…" }] : birkaç görselden oluşan bir galeri. |
| status | object ya da string | Başlığın yanında renkli bir kapsül. Aşağıya bak. Komut yanıtları |
| additions , deletions , files_changed | number | Alt bilgide diff istatistikleri. Komut yanıtları |
| loader , loader_text , loader_sub_text | boolean, string | Gövde yerine dönen bir yükleme simgesi. |
| thinking | string | Bir **Show thinking** düğmesinin arkasındaki akıl yürütme. Komut yanıtları |

## Durum ve diff istatistikleri

Durum kapsülü, kimse metni okumadan hikâyeyi anlatır. Başlığın yanında, başlık yoksa alt bilgide durur; diff istatistikleri saatin yanında görünür. İkisi de komut yanıtlarında çalışır ve yerleşik GitHub entegrasyonu da bunları kullanır. Bir webhook ise bunları atar.

#### Pull request #212 birleştirildi

#### Build, main dalında başarısız oldu

#### maya, main dalına push yaptı

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

| Alan | Tür | Ne yapar |
| --- | --- | --- |
| status | object ya da string | Düz bir string etikettir: "status": "Open" . |
| status.label | string | Kapsülün metni. Bu olmadan kapsül de olmaz. |
| status.color | string | green , purple , red , orange , yellow , blue ya da gray . |
| status.icon | string | Aşağıdaki listeden isteğe bağlı bir simge. |
| additions | number | Eklenen satırlar, yeşil +86 olarak gösterilir. |
| deletions | number | Silinen satırlar, kırmızı -12 olarak gösterilir. |
| files_changed | number | Değişen dosyalar, 3 files olarak gösterilir. |

### Simgeler

| Değer | Simge | Tipik kullanım |
| --- | --- | --- |
| pull_request | git-pull-request | Bir pull request açıldı |
| pull_request_closed | git-pull-request-closed | Birleştirilmeden kapatıldı |
| merge , merged | git-merge | Birleştirildi |
| commit | git-commit | Push edilmiş bir commit |
| issue | circle-dot | Bir issue açıldı |
| issue_closed | circle-check | Bir issue kapatıldı |
| check | circle-check | Testler geçti, bir iş başarıyla tamamlandı |

### GitHub için işe yarayan bir eşleme

Yerleşik GitHub entegrasyonu bunları kullanır; kendi araçların için kopyala.

| Olay | Etiket | Renk | Simge |
| --- | --- | --- | --- |
| Pull request açıldı | Open | green | pull_request |
| Taslak | Draft | gray | pull_request |
| Birleştirildi | Merged | purple | merged |
| Birleştirilmeden kapatıldı | Closed | red | pull_request_closed |
| Issue açıldı | Open | green | issue |
| Issue kapatıldı | Closed | purple | issue_closed |
| Commit push edildi | Commit | gray | commit |
| Testler geçti | Passing | green | check |
| Testler başarısız | Failing | red | yok |

## Yükleme ve akıl yürütme

Bir yapay zekâ yanıtı ya da uzun bir iş gibi biraz zaman alan her şey için önce dönen bir yükleme simgesi olan bir kart gönder, sonra onu sonuçla değiştir. Yükleme göstergesi webhook’larda ve komut yanıtlarında çalışır. Bir komut yanıtında modelin akıl yürütmesini thinking içine de koyabilirsin: üyeler bir metin duvarı yerine bir **Show thinking** düğmesi görür.

Önce: yükleme göstergesi

maya: standup ne zaman?

Sonra: yanıt, akıl yürütme katlanmış halde

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

| Alan | Tür | Ne yapar |
| --- | --- | --- |
| loader | boolean | true , gövde yerine yükleme simgesini gösterir. |
| loader_text | string | Yükleme simgesinin yanındaki satır, örneğin “Düşünüyorum…”. |
| loader_sub_text | string | Altında daha küçük bir satır. |
| thinking | string | Açıklamanın altında katlanmış akıl yürütme, markdown ile. |

Yükleme göstergesini yanıtla değiştirmek için mesajı loader içermeyen yeni bir kartla güncelle. Nasıl yapılacağı [canlı güncellemeler](https://docs.mss.gs/tr/live-updates) sayfasında.

## Uzun açıklamalar

Bir açıklama 50.000 bayta kadar olabilir. İlk 1.000 bayt aşıldığında üyeler başlangıcı ve geri kalanını yükleyen bir **Show more** düğmesi görür, böylece uzun bir rapor kanalı doldurmaz.

## Sistem mesajları

Bir bot gönderisi yerine bir duyuru için "type": "system_message" ayarla: bakım aralıkları, kural değişiklikleri, topluluğun kendisi adına konuşan her şey. Aynı alanları ve düğmeleri kabul eder.

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

## Renkler

Kenar rengi, bir karttaki en hızlı sinyaldir. Aynı tür haber için her seferinde aynı rengi kullan.

| Renk | Ne için kullanılır |
| --- | --- |
| green | Başarı: geçti, yayına alındı, tamam |
| red | Hata: başarısız, çöktü, reddedildi |
| orange | Göz atılması gereken bir uyarı |
| yellow | Birini bekliyor: onaylar, sorular |
| blue | Bilgi, varsayılan |
| purple | Kod olayları ya da özel bir şey |

## Embed’ini oluştur

Alanları ya da JSON payload’ını düzenle: ikisi birlikte değişir. Önizleme, mesajı tam olarak bir kanalda görüneceği gibi gösterir. Bu gerçek webhook gövdesidir; her şey doğru göründüğünde kopyala.

## Geliştirmeye devam et
