Kanal: Nachrichten schicken

Ohne Code: Discord-Adresse

Tools mit Discord-Option schicken mit dieser Adresse an Samy. Ohne Code und ohne Discord-Konto.

Als Markdown öffnen

Viele Tools haben eine Einstellung „Discord-Benachrichtigung“ oder „Discord Webhook“. Dort trägst du statt der Discord-Adresse die Discord-Adresse deines Packlets ein. Samy nimmt die Meldung an, als wäre Samy Discord, und schickt sie als Push auf dein Handy.

Du schreibst dafür keinen Code und brauchst kein Discord-Konto.

In der App verbinden

Tipp beim Verbinden auf Integrationen und wähle Discord. Name und Tier sind schon ausgefüllt. Danach zeigt Samy statt Code gleich die fertige Adresse zum Kopieren; die trägst du in deinem Tool bei Discord ein.

Deine Adresse

Text
https://api.packlets.app/v1/discord/<SAMY_KEY>

Statt <SAMY_KEY> setzt du den Schlüssel deines Packlets ein, also den, der mit samy_ beginnt.

Der Schlüssel steht hier in der Adresse, weil diese Tools keinen eigenen Header schicken können. Behandle die ganze Adresse deshalb wie ein Passwort. Erzeugst du in der App einen neuen Schlüssel, gilt die alte Adresse sofort nicht mehr.

Wo das funktioniert

Überall, wo du eine beliebige Discord-Webhook-Adresse eintragen kannst. Zum Beispiel:

BereichTools
ÜberwachungUptime Kuma, Grafana, Healthchecks.io, Gatus, Netdata
MedienSonarr, Radarr, Lidarr, Jellyfin, Plex (über Tautulli), Overseerr
ServerProxmox, Watchtower, Unraid, TrueNAS
Code und DeploysGitHub Actions, GitLab, Coolify
Automatisierungn8n, Make, Home Assistant

Einige Tools prüfen, ob die Adresse mit https://discord.com/api/webhooks/ beginnt. Dort geht es nicht; nimm dann die ntfy-Adresse oder die Slack-Adresse, falls das Tool sie anbietet.

Schnell testen

Shell
curl https://api.packlets.app/v1/discord/<SAMY_KEY> \
  -H "Content-Type: application/json" \
  -d '{"content":"**Backup** fehlgeschlagen auf [server-1](https://status.example.com)"}'

Wie Discord antwortet Samy mit 204 ohne Inhalt. Im Packlet-Protokoll steht der Aufruf mit „Discord:“ davor.

Was Samy übernimmt

Samy versteht die üblichen Discord-Formate und macht daraus eine normale Nachricht:

DiscordIn Samy
contentText der Nachricht
**fett**, # Überschrift, - Punktwie in Samy
[Beschriftung](https://…)Beschriftung im Text. Der erste Link wird zum Link der Nachricht.
*kursiv*, ~~durch~~, `Code`, ||Spoiler||nur der Text
Erwähnungen wie @everyone oder <@123>fallen weg
Zeitstempel wie <t:1700000000:R>Datum und Uhrzeit
embeds[].title (sonst author.name)Titel; weitere Embeds als fette Zeile
embeds[].urlLink der Nachricht
embeds[].descriptionAbsatz
embeds[].fieldsListe „Name: Wert“
embeds[].footer.textkleiner Absatz am Ende
embeds[].image oder thumbnailBild der Nachricht
embeds[].color in RotPriorität high
flags: 4096 (leise Nachricht)Priorität silent
Link-Knöpfe in componentsbis zu 3 Knöpfe, die den Link öffnen
Formular mit payload_json=<json>wie JSON

username, avatar_url und tts lässt Samy weg; Name und Bild kommen vom Packlet. Zu lange Texte werden gekürzt, Links ohne https fallen weg.

Antworten

StatusAntwortBedeutung
204leerGespeichert, der Push ist unterwegs.
200JSON mit idWie 204, wenn die Adresse mit ?wait=true endet.
400JSON mit code 50006Kein Text gefunden, weder in content noch in embeds.
401JSON mit invalid_keySchlüssel falsch oder Packlet entfernt.
429JSON mit rate_limitedZu viele Aufrufe. Es gilt dasselbe Limit wie bei POST /v1/push.

Grenzen

  • Dateien (Uploads mit multipart/form-data) nimmt Samy nicht an. Bilder gehen als Link in embeds[].image.
  • Knöpfe öffnen nur Links. Knöpfe, die deinem Tool antworten, gibt es mit POST /v1/push und einem Webhook.
  • Nachrichten bearbeiten oder löschen (PATCH/DELETE auf die Webhook-Adresse) gibt es nicht.