---
title: "Kaldkriipsukäsud: lisa /käsud oma mssgs’i kogukonda"
description: "Anna oma mssgs’i kogukonnale omad kaldkriipsukäsud: mssgs saadab sõnumi sinu veebiteenusele ja postitab JSON-vastuse kaardina. Seadistus ja piirangud."
canonical: https://docs.mss.gs/et/commands
language: et
---

# Lisa kaldkriipsukäsud

Anna oma kogukonnale omad /käsud . Kui liige mõne neist sisestab, saadab mssgs sõnumi sinu veebiteenusele ja postitab selle vastuse: kaardi, nupud või vastuse, mida näeb ainult tema.

## Mida saad teha

- **Vasta kaardiga** Vasta JSON-iga ja see ilmub kanalisse kaardina.

- **Tea, kes küsis** Saad liikme ja tema rollid, nii et saad kontrollida, kes mida teha tohib.

- **Vasta privaatselt** Näita vastust ainult liikmele, kes küsis.

- **Võta aega** Vasta 5 sekundi jooksul laadimiskaardiga ja lõpeta hiljem callback URL-i kaudu.

Rakenduses

Sisesta / ja kogukonna käsud ilmuvad

#### Amsterdam

Sinu teenus vastab, mssgs postitab kaardi

Valikuloend ja kaart on rakenduse enda omad. Jalus ütleb, kes millist käsku kasutas.

- [Kiirstart](#quick-start)

- [Seaded](#settings)

- [Mida sa saad](#request)

- [Mida sa vastad](#reply)

- [Viis sekundit](#timing)

- [Privaatsed vastused](#private)

- [Täielik näide](#example)

- [Piirangud](#limits)

## Kiirstart

- 1 Loo trigger Ava arvutirakenduses oma kogukonna **Manage Server → Triggers** ja lisa trigger: käsk, millele see reageerib, näiteks /weather , ja sinu veebiteenuse URL.

### Võta sõnum vastu

Kui liige saadab sõnumi, mis algab sõnaga /weather , saadab mssgs selle POST-päringuga sinu URL-ile:

```json
{
  "server_guid": "abc12345-...",
  "channel_guid": "def67890-...",
  "trigger_match": "/weather",
  "message": {
    "id": "d01ZZdef6-...",
    "content": "/weather Amsterdam",
    "member_guid": "member-guid",
    "user_guid": "user-guid",
    "group_guids": ["group-guid-1", "group-guid-2"],
    "cms": 1790000000000
  },
  "callback_url": "https://mss.gs/api/v1/trigger-callback/...",
  "stream_url": "https://mss.gs/api/v1/instant/...?token=..."
}
```

### Vasta JSON-iga

Vasta 5 sekundi jooksul olekukoodiga 2xx ja JSON-iga. Sellest saab kanalis kaart.

```json
{
  "message_container": {
    "color": "blue",
    "title": "Amsterdam",
    "description": "14 °C, light rain until 16:00",
    "fields": [
      { "field": "Wind", "value": "SW 18 km/h" },
      { "field": "Humidity", "value": "82%" }
    ]
  }
}
```

#### Amsterdam

## Seaded

Igal triggeril on jaotises **Manage Server → Triggers** need seaded.

| Seade | Mida see teeb |
| --- | --- |
| Trigger Name | Triggeri nimi, mida näidatakse valikuloendis käsu kõrval. |
| Word to Match | Tekst, millega sõnum peab algama, näiteks /weather . Kaldkriips on tavaline, aga mitte kohustuslik. |
| URL Endpoint | Kuhu mssgs sõnumi saadab. |
| Webhook Secret | Valikuline. mssgs allkirjastab sellega iga päringu, vaata allpool. |
| Active | Lülita trigger välja ilma seda kustutamata. |
| Post Matching Message | Kas liikme enda sõnum /weather Amsterdam jääb kanalisse sinu vastuse kohale. |
| Show Loading Reply | Näita laadimiskaarti, kuni sinu teenus töötab. |
| Allowed User Groups | Triggerit käivitavad ainult nende rollidega liikmed. Kõigi teiste jaoks on see tavaline sõnum. |

## Mida sa saad

POST-päringu JSON-kehaga. Päiste hulgas on User-Agent: mssgs-webhook/1.0 .

| Väli | Tüüp | Mis see on |
| --- | --- | --- |
| server_guid | string | Kogukond. |
| channel_guid | string | Kanal, kuhu sõnum saadeti. |
| trigger_match | string | Sobitunud käsk, näiteks /weather . |
| message.content | string | Kogu sõnum koos käsuga. |
| message.member_guid | string | Saatnud liige selles kogukonnas. |
| message.user_guid | string | Sama inimese konto, igas kogukonnas sama. |
| message.group_guids | array | Liikme rollid. |
| message.cms | number | Saatmise aeg millisekundites. |
| message.is_action_button | boolean | true , kui triggeri käivitas nupp, mitte sisestatud käsk. |
| message.action_payload | object | Nupu payload , nupuvajutuste puhul. |
| callback_url | string | Uuenda või kustuta oma vastus hiljem, 30 minuti jooksul. |
| stream_url | string | Reaalajas voog sinu vastusele tulnud vastustest, reaktsioonidest ja nupuvajutustest, 10 minuti jooksul. |

### Kes mida teha tohib

Võrdle välja message.group_guids rollidega, keda usaldad, näiteks et ainult moderaatorid saaksid käivitada käsku /ban . Et käsk kõigi teiste eest täielikult peita, määra selle rollid triggeri seadetes.

## Mida sa vastad

Mis tahes olekukood 2xx koos JSON-kehaga, kuni 4 MB. Saada vähemalt üks väljadest message_container või actions .

| Väli | Tüüp | Mis see on |
| --- | --- | --- |
| message_container | object | Kaart. Siin töötab iga sõnumikaardi väli, sealhulgas olekusilt, märk, diff-statistika ja kokkuvolditud arutluskäik. |
| title , description , color , ... | string | Lühivorm: ülemisel tasemel olevad kaardi väljad pakitakse sinu eest kaardiks. |
| actions | array | Nupud kaardi all. Vaata nuppude lehte. |
| visible_to_member_guids | array | Vastust näevad ainult need liikmed. Vaata privaatseid vastuseid. |

## Viis sekundit

mssgs ootab sinu vastust 5 sekundit. Kui vajad rohkem aega, vasta kohe laadimiskaardiga ja lõpeta aadressi callback_url kaudu, mis kehtib 30 minutit.

```javascript
// Answer within 5 seconds with a loader...
res.json({ message_container: { loader: true, loader_text: 'Looking it up…' } });

// ...then finish in your own time with the callback URL.
await fetch(req.body.callback_url, {
  method: 'PUT',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ message_container: { color: 'blue', title: 'Done', description: result } })
});
```

## Privaatsed vastused

Pane liikmete id-d välja visible_to_member_guids ja ainult nemad näevad sinu vastust. Kasuta päringust saadud väärtust member_guid , et vastata ainult küsijale.

```json
{
  "message_container": {
    "color": "green",
    "title": "You're on the list",
    "description": "Only you can see this reply."
  },
  "visible_to_member_guids": ["<message.member_guid from the request>"]
}
```

## Täielik näide

Käsk /weather Node.js-is koos Expressiga, mis vastab kaardiga.

```javascript
import express from 'express';

const app = express();
app.use(express.json());

app.post('/mssgs/weather', async (req, res) => {
  const city = req.body.message.content.replace('/weather', '').trim() || 'Amsterdam';
  const w = await getWeather(city); // your own lookup

  res.json({
    message_container: {
      color: 'blue',
      title: city,
      description: `${w.temp} °C, ${w.summary}`,
      fields: [
        { field: 'Wind', value: w.wind },
        { field: 'Humidity', value: `${w.humidity}%` }
      ]
    }
  });
});

app.listen(3000);
```

## Piirangud

| Piirang | Väärtus |
| --- | --- |
| Vastamise aeg | 5 sekundit |
| Vastuse suurus | 4 MB |
| Käske liikme kohta | 5 iga 5 sekundi jooksul |
| Vastuse hilisem uuendamine | 30 minutit, aadressi callback_url kaudu |
| Vastuse reaalajas voog | 10 minutit, aadressi stream_url kaudu |

## Ehita edasi
