Servernachrichten in Discord ausgeben

Servermeldungen  in Discord ausgeben

Discord Button
Image by Alexander Shatov


Für unseren SaaS-Service JUST-SELL.online haben wir unsere Server mit Discord verheiratet. 

Da unser Team dezentral arbeitet, ist ein Messenger unser zentrales Kommunikationsmittel und begleitet uns somit den ganzen Arbeitstag. 

Reaktionszeit minimieren

Da Discord unsere Kommunikationszentrale ist, war uns direkt klar, dass wichtige und kritische Servermeldungen in Real-Time von unseren Servern in Discord zu sehen sein sollten.
So können wir umgehend reagieren bzw. bleiben up-to date bei wichtigen Event's die auf dem Server passieren. 
Hier ein paar Events die für uns interessant sind als Ideengeber:
  • Erreichbarkeit des Servers checken
  • Prüfen ob das automatische Deployment einer neuen Software-Version erfolgreich war
  • Warnungen wenn Serverprozesse auf kritische Bereiche (RAM / CPU) zusteuern
  • Root-Logins auf dem Server sichtbar machen
  • und einige mehr...


Gruppen / Channel Struktur in Discord

Wir haben z.B. eine Channel-Gruppe Server in Discord, in dem für jeden unserer Server ein eigener Channel angelegt wird. Jeder Channel erhält den Namen des jeweiligen Servers.
In den Server-Channels posten wir nur Dinge, die sich nur auf diesen Server beziehen. Allgemeine Absprachen zu der Infrastruktur, zu den Servern usw. finden im Channel "#general" statt. So bleibt die Historie in den Server-channels übersichtlich und klar.

Channels in Discord


 

Discord einrichten

Um einen Channel mit dem Server zu verbinden, muss in Discord ein WebHook erstellt werden.
Wenn du deinen Channel in der Liste ausgewählt hast, siehst du am Ende der Zeile ein Zahnrad-Icon um die Einstellungen für diesen Channel aufzurufen. 

Klicke darauf und wechsel im Menü auf der linken Seite in den Bereich `Integrationen`. In dem Fenster das sich öffnet, siehst du schon den Button "WebHook erstellen"



Nachdem du den Butten geklickt hast, öffnet sich ein Dialog in dem Discord dir bereits einen WebHook erstellt hat - hier Captain Hook - ja, das Discord-Team hat Humor ;).
Du kannst - musst aber nicht - den Namen und das Icon anpassen.

Bei uns sieht das für Server XST01 z.B. so aus: 


Klicke unten auf den Button `WebHook-URL kopieren`... diese URL benötigen wir gleich, um Sie in unser BASH-Script auf dem Server einzutragen.


Server einrichten

Beim Server handelt es sich natürlich um einen LINUX - Server ;) . 


BTW: 
Du kannst dir natürlich auch ein Script für einen Windows-Server erstellen. 
Wenn du dies tust, poste es gerne in die Kommentare, 
damit auch andere etwas davon haben.


Logge dich auf deinem Server ein, und lege in einem Verzeichnis deiner Wahl (ich empfehle `/usr/local/bin` die Datei `discord_notification` an.

Dort kommt folgender Sourcecode hinein. Den zweiten Parameter des curl-Befehls `--url` ersetzt du mit der WebHook-URL, den du zuvor aus deinem Discord-Channel kopiert hast.

#!/bin/bash
if [ $# -ne 2 ]; then
    echo -e "\nNo arguments provided.\nUse this script like this:\n\t $0 <yourBotName> \"<yourMessage>\""
    exit 1
fi
 
curl --request POST \
  --url https://discord.com/api/webhooks/123123123123/xxxxxxxxxxxx-yyyyyyyyyyyyyyyyyyyyyy_zzz \
  --header 'Content-Type: application/json' \
  --data '{"username": "'"$1"'-BOT:","content": "'"$2"'"}'

Nun noch das `discord_notification` script ausführbar machen: 


⇒ chmod +x /usr/local/bin/discord_notification

Script nutzen

Nun kannst du auf deinem Server über einen einfachen Befehl eine Message in deinen Discord-Server Channel senden: 


⇒ discord_notification XST01 "Hi, I'm the new one"


Hat dir der Artikel geholfen /  gefallen?

Dann greif dir gerne einen (oder alle) der folgenden Punkte: 
  1. Erwähne uns in deinen Channels (Facebook, LinkedIn etc.)
  2. Sende diesen Artikel an jemanden, für den er interessant sein kann
  3. Hinterlasse einen Kommentar
Photo by Howie R






Kommentare