---
title: "Düğmeler: etkileşimli mssgs mesajları"
description: "Bir mssgs kartının altına düğmeler koy: bir bağlantı aç, tek dokunuşla kartı herkes için değiştir, basışları canlı dinle ya da başka bir komut çalıştır."
canonical: https://docs.mss.gs/tr/buttons
language: tr
---

# Düğme ekle

Herhangi bir kartın altına düğmeler koy. Bir düğme bir bağlantı açar, biri dokunduğu anda kartı herkes için değiştirir ya da servisine basıldığını bildirir.

## Neler yapabilirsin

- **Bağlantı aç** İnsanları bir sayfaya, bir panoya ya da bir pull request’e yönlendir.

- **Dokununca kartı değiştir** Kendi sunucun olmadan, doğrudan basıştan kartı düzenle, kaldır, tepki ver ya da yanıtla.

- **Her basıştan haberdar ol** Servisin kimin neye bastığını canlı olarak öğrenir.

- **Komut çalıştır** Bir düğme, topluluğun eğik çizgi komutlarından birini verilerle birlikte çalıştırabilir.

Uygulamada

#### Ön kapı

Biri zili çalar: kart belirir

#### Ön kapı

Kapıyı aç düğmesine bir dokunuş: kart herkes için değişir

Değişikliğin kendisi için sunucu gerekmez: adımlar mesajla birlikte saklanır. Kapı kontrol cihazın basışı duyar ve kapıyı açar.

- [Hızlı başlangıç](#quick-start)

- [Üç tür](#kinds)

- [Kartı değiştir](#steps)

- [Basışları dinle](#listen)

- [Komut çalıştır](#trigger)

- [Alanlar](#fields)

- [Hatalar](#errors)

## Hızlı başlangıç

### Bir actions listesi ekle

Düğmeler, kartın yanında actions alanına girer: bir [webhook](https://docs.mss.gs/tr/webhooks) gönderisinde, bir [komut](https://docs.mss.gs/tr/commands) yanıtında ya da bir [güncellemede](https://docs.mss.gs/tr/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" }
  ]
}
```

#### v2.1 canlı ortama alınsın mı?

- 2 Basınca ne olacağını seç Bir bağlantı, kartta bir değişiklik ya da servisine bir çağrı. Üç türü aşağıda bulabilirsin.

## Üç düğme türü

Basınca ne olacağına type karar verir.

| Tür | Basınca ne olur | Sana ulaşır mı |
| --- | --- | --- |
| url:{url} | Bağlantıyı açar. | Hayır |
| webhook_action | Onunla birlikte sakladığın adımları kanaldaki herkes için çalıştırır. | Evet, mesajın stream_url adresinde |
| trigger:{guid} | Topluluğun tetikleyicilerinden birini düğmenin payload verisiyle çalıştırır. | Evet, o tetikleyicinin URL’sine yeni bir istek olarak |

## Dokununca kartı değiştir

Bir webhook_action düğmesi triggers içinde bir adım listesi taşır. Basıldığında bu adımlar mssgs sunucusunda sırayla çalışır ve kanaldaki herkes sonucu görür.

| Adım | Herkes için ne yapar | Alanlar |
| --- | --- | --- |
| update_message | Kartı ve düğmelerini değiştirir. Düğmeleri kaldırmak için "actions": [] gönder. | message_container , actions , content |
| remove_message | Mesajı siler. | Yok |
| add_reaction | Basan üyenin adına bir tepki ekler. | emoji |
| add_reply | Basan üyenin adına bir yanıt gönderir. | 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:" }
      ]
    }
  ]
}
```

## Basışları dinle

Düğmeli bir mesaj webhook’tan bir stream_url ile döner. Onu açık tut; her basış action türünde bir olay olarak gelir: düğmenin id’si, saklanan düğme ve onun payload verisi, bir de basan kişi:

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

Asıl işi yap, örneğin kapıyı aç, sonra kartın son halini callback_url üzerinden ayarla. Akışın ve callback’in nasıl çalıştığı [canlı güncellemeler](https://docs.mss.gs/tr/live-updates) sayfasında.

## Düğmeyle komut çalıştır

Bir trigger:{guid} düğmesi, sanki biri komutu yazmış gibi topluluğunun tetikleyicilerinden birini çalıştırır ve düğmenin payload verisini iletir. Tetikleyiciye şu gelir:

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

## Alanlar

| Alan | Tür | Ne yapar |
| --- | --- | --- |
| type | string | url:{url} , webhook_action ya da trigger:{guid} . Zorunlu. |
| text | string | Düğmenin üzerindeki etiket. Zorunlu; label da çalışır. |
| color | string | Düğmenin rengi, aşağıya bak. |
| id | string | webhook_action için: hangi düğmeye basıldığı. Mesaj içinde benzersiz olmalı. |
| payload | object | Senin verin, basıldığında sana geri verilir. |
| triggers | array | webhook_action için: çalıştırılacak adımlar. |
| disabled | boolean | Düğmeyi soluk gösterir ve basışlar reddedilir. |

### Renkler

green , blue ve purple dolu, birincil bir düğme çizer. red , orange ve yellow ikincil bir düğme çizer: bunları “Reddet”, “İptal” ve dikkat isteyen diğer seçenekler için kullan.

## Hatalar

Düğmeli bir mesaj gönderdiğinde mssgs önce düğmeleri kontrol eder:

| Kod | Anlamı |
| --- | --- |
| INVALID_ACTIONS_FORMAT | actions bir nesne listesi değil. |
| INVALID_ACTION_MISSING_FIELDS | Bir düğmenin type ya da text alanı yok. |
| DUPLICATE_ACTION_ID | İki düğme aynı id değerini kullanıyor. |
| INVALID_TRIGGERS_FORMAT | triggers bir adım listesi değil. |
| INVALID_TRIGGER_MISSING_ACTION | Bir adımın action alanı yok. |
| INVALID_TRIGGER_ACTION_NOT_ALLOWED | Yukarıdaki dört adımdan farklı bir adım. |

### Biri bastığında

| Kod | Anlamı |
| --- | --- |
| MESSAGE_NOT_FOUND | Mesaj bu arada silinmiş. |
| ACTION_NOT_FOUND | Mesajda bu id’ye sahip bir düğme yok. |
| ACTION_DISABLED | Düğme devre dışı. |
| TRIGGER_NOT_FOUND , TRIGGER_NOT_ACTIVE | Düğmenin gösterdiği tetikleyici artık yok ya da kapatılmış. |
| TRIGGER_NOT_ALLOWED | Üyenin o tetikleyiciyi kullanabilen bir rolü yok. |

## Eski belgelerden mi geliyorsun?

## Geliştirmeye devam et
