Direktnachricht per Mastodon API

Ich brauchte etwas, das mir bei bestimmten Ereignissen auf möglichst simple Weise eine Nachricht schickt. Das lässt sich auf allerlei Arten bewerkstelligen, ich fand es am einfachsten, meinem Mastodon-Account von einem schnell eingerichteten Zweit-Account Direktnachrichten zu schicken. Das lässt sich mit einem curl-Aufruf machen:

curl --location --request POST 'https://social.tchncs.de/api/v1/statuses' \
--header 'Authorization: Bearer GEHEIM' \
--header 'Content-Type: application/json' \
--data-raw '{
      "status": "@scaldra@social.tchncs.de Hallo",
      "language":"de",
      "visibility": "direct"
}'Code-Sprache: Bash (bash)

Das schickt @scaldra@social.tchncs.de ein Hallo als Direktnachricht in Deutsch. Damit das auch funktioniert, muss dazu nur noch GEHEIM durch das Bearer Token ersetzt werden. Das lässt sich schnell erstellen, indem unter Entwicklung eine neue Anwendung angelegt wird. Sobald die Anwendung erzeugt wurde, muss sie noch mal geöffnet und der Inhalt von Dein Zugangs-Token kopiert und ins Skript eingesetzt werden. Und schon ist der Bot fertig und sagt Hallo.

Hier das Ganze noch mal als PHP.

<?php
$headers = [
  'Authorization: Bearer GEHEIM'
];

$status_data = array(
  "status" => "@scaldra@social.tchncs.de Hallo",
  "language" => "de",
  "visibility" => "direct"
);

$ch_status = curl_init();
curl_setopt($ch_status, CURLOPT_URL, "https://social.tchncs.de/api/v1/statuses");
curl_setopt($ch_status, CURLOPT_POST, 1);
curl_setopt($ch_status, CURLOPT_POSTFIELDS, $status_data);
curl_setopt($ch_status, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch_status, CURLOPT_HTTPHEADER, $headers);

$output_status = json_decode(curl_exec($ch_status));

curl_close ($ch_status);Code-Sprache: PHP (php)

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert