---
title: "Κουμπιά: διαδραστικά μηνύματα στο mssgs"
description: "Βάλε κουμπιά κάτω από μια κάρτα του mssgs: άνοιξε σύνδεσμο, άλλαξε την κάρτα για όλους με ένα πάτημα, άκου κάθε πάτημα ζωντανά ή τρέξε μια εντολή."
canonical: https://docs.mss.gs/el/buttons
language: el
---

# Πρόσθεσε κουμπιά

Βάλε κουμπιά κάτω από οποιαδήποτε κάρτα. Ένα κουμπί ανοίγει έναν σύνδεσμο, αλλάζει την κάρτα για όλους τη στιγμή που κάποιος το πατά ή ειδοποιεί την υπηρεσία σου ότι πατήθηκε.

## Τι μπορείς να κάνεις

- **Άνοιξε έναν σύνδεσμο** Στείλε τους άλλους σε μια σελίδα, ένα dashboard ή ένα pull request.

- **Άλλαξε την κάρτα με ένα πάτημα** Επεξεργάσου την, αφαίρεσέ την, αντίδρασε ή απάντησε, κατευθείαν από το πάτημα, χωρίς δικό σου server.

- **Άκου κάθε πάτημα** Η υπηρεσία σου μαθαίνει ζωντανά ποιος πάτησε τι.

- **Τρέξε μια εντολή** Ένα κουμπί μπορεί να ενεργοποιήσει μία από τις εντολές slash της κοινότητας, με δεδομένα.

Στην εφαρμογή

#### Εξώπορτα

Κάποιος χτυπά το κουδούνι: εμφανίζεται η κάρτα

#### Εξώπορτα

Ένα πάτημα στο «Άνοιγμα πύλης»: η κάρτα αλλάζει για όλους

Για την ίδια την αλλαγή δεν χρειάζεται server: τα βήματα αποθηκεύονται μαζί με το μήνυμα. Ο ελεγκτής της πύλης σου ακούει το πάτημα και ανοίγει την πύλη.

- [Γρήγορη εκκίνηση](#quick-start)

- [Τρία είδη](#kinds)

- [Αλλαγή της κάρτας](#steps)

- [Άκου το πάτημα](#listen)

- [Τρέξε μια εντολή](#trigger)

- [Πεδία](#fields)

- [Σφάλματα](#errors)

## Γρήγορη εκκίνηση

### Πρόσθεσε μια λίστα actions

Τα κουμπιά μπαίνουν στο actions , δίπλα στην κάρτα, σε μια δημοσίευση [webhook](https://docs.mss.gs/el/webhooks), σε μια απάντηση σε [εντολή](https://docs.mss.gs/el/commands) ή σε μια [ενημέρωση](https://docs.mss.gs/el/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" }
  ]
}
```

#### Deploy της v2.1 στην παραγωγή;

- 2 Διάλεξε τι κάνει ένα πάτημα Έναν σύνδεσμο, μια αλλαγή στην κάρτα ή μια κλήση στην υπηρεσία σου. Τα τρία είδη θα τα βρεις παρακάτω.

## Τρία είδη κουμπιών

Το type αποφασίζει τι κάνει ένα πάτημα.

| Τύπος | Τι κάνει ένα πάτημα | Φτάνει σε σένα |
| --- | --- | --- |
| url:{url} | Ανοίγει τον σύνδεσμο. | Όχι |
| webhook_action | Εκτελεί τα βήματα που αποθήκευσες μαζί του, για όλους στο κανάλι. | Ναι, στο stream_url του μηνύματος |
| trigger:{guid} | Ενεργοποιεί ένα από τα triggers της κοινότητας με το payload του κουμπιού. | Ναι, ως νέο αίτημα στο URL εκείνου του trigger |

## Άλλαξε την κάρτα με ένα πάτημα

Ένα κουμπί webhook_action έχει μια λίστα βημάτων στο triggers . Με το πάτημα εκτελούνται στον server του mssgs, με τη σειρά, και όλοι στο κανάλι βλέπουν το αποτέλεσμα.

| Βήμα | Τι κάνει, για όλους | Πεδία |
| --- | --- | --- |
| update_message | Αντικαθιστά την κάρτα και τα κουμπιά της. Στείλε "actions": [] για να αφαιρέσεις τα κουμπιά. | message_container , actions , content |
| remove_message | Διαγράφει το μήνυμα. | Κανένα |
| add_reaction | Προσθέτει μια αντίδραση, εκ μέρους του μέλους που πάτησε. | emoji |
| add_reply | Δημοσιεύει μια απάντηση, εκ μέρους του μέλους που πάτησε. | 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:" }
      ]
    }
  ]
}
```

## Άκου το πάτημα

Ένα μήνυμα με κουμπιά επιστρέφει από το webhook με ένα stream_url . Κράτα το ανοιχτό και κάθε πάτημα φτάνει ως συμβάν τύπου action , με το id του κουμπιού, το αποθηκευμένο κουμπί και το payload του, και με το ποιος το πάτησε:

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

Κάνε την πραγματική δουλειά, όπως να ανοίξεις την πύλη, και μετά όρισε την τελική κατάσταση της κάρτας μέσω του callback_url . Πώς λειτουργούν η ροή και το callback θα το βρεις στις [ζωντανές ενημερώσεις](https://docs.mss.gs/el/live-updates).

## Τρέξε μια εντολή από ένα κουμπί

Ένα κουμπί trigger:{guid} ενεργοποιεί ένα από τα triggers της κοινότητάς σου, σαν να είχε πληκτρολογήσει κάποιος την εντολή, και παραδίδει το payload του κουμπιού. Το trigger λαμβάνει:

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

## Πεδία

| Πεδίο | Τύπος | Τι κάνει |
| --- | --- | --- |
| type | string | url:{url} , webhook_action ή trigger:{guid} . Υποχρεωτικό. |
| text | string | Η ετικέτα πάνω στο κουμπί. Υποχρεωτικό. Λειτουργεί και το label . |
| color | string | Το χρώμα του κουμπιού, δες παρακάτω. |
| id | string | Για webhook_action : ποιο κουμπί πατήθηκε. Μοναδικό μέσα στο μήνυμα. |
| payload | object | Τα δεδομένα σου, που επιστρέφονται με κάθε πάτημα. |
| triggers | array | Για webhook_action : τα βήματα που θα εκτελεστούν. |
| disabled | boolean | Δείχνει το κουμπί γκριζαρισμένο και τα πατήματα απορρίπτονται. |

### Χρώματα

Τα green , blue και purple σχεδιάζουν ένα γεμάτο, κύριο κουμπί. Τα red , orange και yellow σχεδιάζουν ένα δευτερεύον: χρησιμοποίησέ τα για «Απόρριψη», «Ακύρωση» και άλλες επιλογές που θέλουν προσοχή.

## Σφάλματα

Όταν δημοσιεύεις ένα μήνυμα με κουμπιά, το mssgs τα ελέγχει πρώτα:

| Κωδικός | Σημασία |
| --- | --- |
| INVALID_ACTIONS_FORMAT | Το actions δεν είναι λίστα αντικειμένων. |
| INVALID_ACTION_MISSING_FIELDS | Ένα κουμπί δεν έχει type ή text . |
| DUPLICATE_ACTION_ID | Δύο κουμπιά έχουν το ίδιο id . |
| INVALID_TRIGGERS_FORMAT | Το triggers δεν είναι λίστα βημάτων. |
| INVALID_TRIGGER_MISSING_ACTION | Ένα βήμα δεν έχει action . |
| INVALID_TRIGGER_ACTION_NOT_ALLOWED | Ένα βήμα διαφορετικό από τα τέσσερα παραπάνω. |

### Όταν κάποιος πατά

| Κωδικός | Σημασία |
| --- | --- |
| MESSAGE_NOT_FOUND | Το μήνυμα διαγράφηκε στο μεταξύ. |
| ACTION_NOT_FOUND | Δεν υπάρχει κουμπί με αυτό το id στο μήνυμα. |
| ACTION_DISABLED | Το κουμπί είναι απενεργοποιημένο. |
| TRIGGER_NOT_FOUND , TRIGGER_NOT_ACTIVE | Το trigger στο οποίο δείχνει ένα κουμπί δεν υπάρχει πια ή είναι απενεργοποιημένο. |
| TRIGGER_NOT_ALLOWED | Το μέλος δεν έχει ρόλο που επιτρέπεται να χρησιμοποιεί αυτό το trigger. |

## Έρχεσαι από την παλιά τεκμηρίωση;

## Συνέχισε να φτιάχνεις
