---
title: "Slash-kommandon: lägg till /kommandon i din mssgs-community"
description: "Ge din mssgs-community egna slash-kommandon: mssgs skickar meddelandet till din webbtjänst och postar JSON-svaret som ett kort. Inställningar, svar och gränser."
canonical: https://mss.gs/sv/docs/commands
language: sv
---

# Lägg till slash-kommandon

Ge din community egna /kommandon . När en medlem skriver ett skickar mssgs meddelandet till din webbtjänst och postar det den svarar: ett kort, knappar, ett svar som bara den medlemmen ser.

## Det här kan du göra

- **Svara med ett kort** Svara med JSON så visas det i kanalen som ett kort.

- **Vet vem som frågade** Du får medlemmen och medlemmens roller, så att du kan kontrollera vem som får göra vad.

- **Svara privat** Visa svaret bara för medlemmen som frågade.

- **Ta den tid du behöver** Svara med ett laddningskort inom 5 sekunder och gör klart via callback-URL:en.

I appen

Skriv / så visas communityns kommandon

#### Amsterdam

Din tjänst svarar, mssgs postar kortet

Väljaren och kortet är appens egna. Sidfoten visar vem som använde vilket kommando.

- [Snabbstart](#quick-start)

- [Inställningar](#settings)

- [Vad du tar emot](#request)

- [Vad du svarar](#reply)

- [Fem sekunder](#timing)

- [Privata svar](#private)

- [Ett komplett exempel](#example)

- [Gränser](#limits)

## Snabbstart

- 1 Skapa triggern Öppna **Hantera community → Triggers** för din community i skrivbordsappen och lägg till en: kommandot den reagerar på, som /weather , och URL:en till din webbtjänst.

### Ta emot meddelandet

När en medlem skickar ett meddelande som börjar med /weather gör mssgs en POST med det till din URL:

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

### Svara med JSON

Svara inom 5 sekunder med en 2xx-status och JSON. Det blir ett kort i kanalen.

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

## Inställningar

Varje trigger har de här inställningarna under **Hantera community → Triggers**.

| Inställning | Vad den gör |
| --- | --- |
| Triggernamn | Vad triggern heter, visas bredvid kommandot i väljaren. |
| Ord att matcha | Texten ett meddelande måste börja med, som /weather . Ett snedstreck är vanligt men inget krav. |
| URL-endpoint | Dit mssgs skickar meddelandet. |
| Webhook-hemlighet | Valfri. mssgs signerar varje anrop med den, se nedan. |
| Aktiv | Stäng av triggern utan att ta bort den. |
| Posta matchande meddelande | Om medlemmens eget /weather Amsterdam ska stå kvar i kanalen ovanför ditt svar. |
| Visa laddningssvar | Visa ett laddningskort medan din tjänst arbetar. |
| Tillåtna användargrupper | Bara medlemmar med de här rollerna utlöser den. För alla andra är det ett vanligt meddelande. |

## Vad du tar emot

En POST med en JSON-body. Bland headers finns User-Agent: mssgs-webhook/1.0 .

| Fält | Typ | Vad det är |
| --- | --- | --- |
| server_guid | string | Communityn. |
| channel_guid | string | Kanalen där meddelandet skickades. |
| trigger_match | string | Kommandot som matchade, som /weather . |
| message.content | string | Hela meddelandet, med kommandot. |
| message.member_guid | string | Medlemmen som skickade det, i den här communityn. |
| message.user_guid | string | Samma persons konto, detsamma i alla communities. |
| message.group_guids | array | Rollerna som medlemmen har. |
| message.cms | number | När det skickades, i millisekunder. |
| message.is_action_button | boolean | true när en knapp utlöste triggern, inte ett skrivet kommando. |
| message.action_payload | object | Knappens payload , vid knapptryck. |
| callback_url | string | Uppdatera eller radera ditt svar senare, i 30 minuter. |
| stream_url | string | En liveström av svar, reaktioner och knapptryck på ditt svar, i 10 minuter. |

### Kontrollera vem som får göra vad

Jämför message.group_guids med de roller du litar på, till exempel för att bara låta moderatorer köra /ban . Vill du hålla ett kommando helt borta från alla andra anger du dess roller i triggerns inställningar.

## Vad du svarar

Valfri 2xx-status med en JSON-body, upp till 4 MB. Skicka minst en av message_container och actions .

| Fält | Typ | Vad det är |
| --- | --- | --- |
| message_container | object | Kortet. Alla fält för meddelandekort fungerar här, också statuspillen, märket, diff-statistiken och det hopfällda resonemanget. |
| title , description , color , ... | string | Kortform: kortfält på översta nivån slås in i ett kort åt dig. |
| actions | array | Knappar under kortet. Se knappar. |
| visible_to_member_guids | array | Bara de här medlemmarna ser svaret. Se privata svar. |

## Fem sekunder

mssgs väntar 5 sekunder på ditt svar. Behöver du längre tid svarar du direkt med ett laddningskort och gör klart via callback_url , som gäller i 30 minuter.

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

## Privata svar

Lägg medlems-id:n i visible_to_member_guids så ser bara de medlemmarna ditt svar. Använd member_guid från anropet för att bara svara personen som frågade.

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

## Ett komplett exempel

Ett /weather -kommando i Node.js med Express, som svarar med ett kort.

```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);
```

## Gränser

| Gräns | Värde |
| --- | --- |
| Tid att svara | 5 sekunder |
| Svarets storlek | 4 MB |
| Kommandon per medlem | 5 per 5 sekunder |
| Uppdatera svaret efteråt | 30 minuter, via callback_url |
| Liveström av svaret | 10 minuter, via stream_url |

## Bygg vidare
