NextCloud Talk Automation Bot : Ένα ευέλικτο bot για αποστολή ειδοποιήσεων συστήματος σε μηνύματα μέσω του Nextcloud Talk.

NextCloud Talk Automation Bot

Ένα ευέλικτο bot για αποστολή ειδοποιήσεων συστήματος σε μηνύματα μέσω του Nextcloud Talk. :rocket:

Άδεια Χρήσης Έκδοση Python

Καλώς ήρθατε στο NextCloudTalkBot, ένα ευέλικτο bot γραμμένο σε Python που μας επιτρέπει να αυτοματοποιήσουμε την επεξεργασία των Events του συστήματος μας και να παρακολουθούμε το σύστημά μας, στέλνοντας αυτόματα μηνύματα ειδοποίησης μέσω του Nextcloud Talk.

:sparkles: Βασικά Χαρακτηριστικά

  • Αυτοματοποιημένη Αποστολή Μηνυμάτων: Στείλτε μηνύματα σε προκαθορισμένους ή custom παραλήπτες στο Nextcloud Talk απευθείας από το τερματικό ή μέσω Cronjobs.
  • Παρακολούθηση του server: Παρακολουθήστε βασικούς δείκτες υγείας του server, όπως τη χρήση CPU, διαθέσιμο χώρο αποθήκευσης καθώς και χρόνος λειτουργίας του συστήματος με έτοιμα ενσωματωμένα αυτοματοποιημένα scripts.
  • Παρακολούθηση της Κατάστασης των Υπηρεσιών:: Επιστρέφει δεδομένα σχετικά με αποτυχημένες προσπάθειες σύνδεσης σε υπηρεσίες οπως το NextCloud και Wireguard από containers. Επιπλέον, μπορούμε να ελέγξουμε το state των Docker Containers μας και να έρθει απευθείας σε μήνυμα μέσα στο NextCloud Talk μας. Θα είναι σαν να έχουμε SIEM χωρίς να έχουμε SIEM :P .
  • Εκτέλεση Custom Εντολών: Εκτελέστε οποιαδήποτε εντολή από Bash και στείλτε τα αποτελέσματα αυτά μέσω Nextcloud Talk— πρακτικά, μετατρέπετε το NextCloud Talk Chat σας σε οθόνη,
  • Event Logging: Καταγράφει αυτόματα κάθε εντολή που χρησιμοποιείται, διευκολύνοντας την παρακολούθηση των ενεργειών του bot.

:bullseye: Έξυπνα usecases & Ιδέες

  1. Παρακολούθηση καταστάσεων των υπηρεσιών που τρέχουν στον Server σας: Ενσωματώστε αυτό το bot στον server σας ώστε να ελέγχει τα logs και εσείς να λαμβάνετε ειδοποιήσεις απευθείας από το chat του Nextcloud Talk.
  2. Ομαδική Συνεργασία: Αυτοματοποιήστε την αποστολή ενημερώσεων ή υπενθυμίσεων σε ομαδικές συνομιλίες της ομάδας σας στο Nextcloud.
  3. Προγραμματισμένες Εργασίες: Ρυθμίστε με cronjobs για να εκτελείτε τα αντίστοιχα flags παρακολούθησης διεργασιών του συστήματος (όπως έλεγχο αποθήκευσης, κατάστασης του Docker ή αποτυχίας αυθεντικοποίησης) και να στέλνετε τα αποτελέσματα σε μηνύματα μέσω του NextCloud Talk,
  4. Προσθήκη προσαρμοσένων scripts: Δημιουργήστε προσαρμοσμένα scripts για παρακολούθηση περιστατικών ασφαλείας στο σύστημά σας, —όπως εξάντληση χώρου αποθήκευσης, χρόνος λειτουργίας του server σας —και στείλτε τα αυτόματα σε μύνημα μέσω Nextcloud Talk.

Εικόνα Εκτέλεσης

:fire: Lite έκδοση vs Full Έκδοση :fire:

Χαρακτηριστικά Lite Έκδοση :bullseye: Full Έκδοση :trophy:
Αυτοματοποιημένη Αποστολή Μηνυμάτων :white_check_mark: :white_check_mark:
Παρακολούθηση Συστήματος :cross_mark: :white_check_mark: (CPU, Docker, Αποθήκευση)
Παρακολούθηση Logs από Docker :cross_mark: :white_check_mark:
Εκτέλεση Προσαρμοσμένων Εντολών :cross_mark: :white_check_mark: (Εκτέλεση Εντολών Bash)
Ευκολία Εγκατάστασης :glowing_star: Απλά Εκτελέστε το Script :hammer_and_wrench: Απαιτούνται επιπρόσθετα configurations στα services

:clipboard: Πώς να το Χρησιμοποιήσετε

Εγκατάσταση & Ρύθμιση

Απαιτήσεις:

Για να εγκατεστήσετε τα προαπαιτούμενα πακέτα, αφού κατεβάσουμε το αποθετήριο αυτό, δίνουμε:

pip install -r requirements.txt

Ρύθμιση Environment Μεταβλητών (.env)

Αυτό το bot χρησιμοποιεί environment variables με στόχο να συνδεθεί σε έναν λογαριασμό στον NextCloud server μας για να στέλνει τα αντίστοιχα μηνύματα. Αυτό που έχουμε να κάνουμε είναι να δημιουργούμε ένα αρχείο .env στον φάκελο του Project, με την ακόλουθη δομή:

NEXTCLOUD_URL=https://your-nextcloud-server.com
BOT_USERNAME=your_bot_username
BOT_PASSWORD=your_bot_password
DEFAULT_RECIPIENT_ID=default_recipient_id_for_messages

Συμπληρώνουμε τα αντίστοιχα πεδία με τα στοιχεία αλλά και credentials από το δικό μας NextCloud instance, καθώς και το id του chat οπού θέλετε να λαμβάνει τα μηνύματα. Για να βρείτε το id αυτό, ανοίξτε μια συνομιλία στο NextCloud Talk και αντιγράψτε το από τον σύνδεσμο.

Εκτέλεση του Bot

Μπορείτε να αλληλεπιδράσετε με το bot μέσω διαφόρων flags από το τερματικό:

python3 nextcloudtalkbot.py [options]

:light_bulb: Διαθέσιμες Επιλογές & Scripts

Το bot υποστηρίζει μια σειρά από ενέργειες, οπού καθεμία από αυτές ενεργοποιείται μέσω συγκεκριμένων flags.

  • Αποστολή Μηνύματος: Στείλτε ένα μήνυμα στον προεπιλεγμένο παραλήπτη (ή καθορίστε ένα αναγνωριστικό παραλήπτη με --chat).

    Παράδειγμα:

    python3 nextcloudtalkbot.py --send "Hello World"
    
  • Εκτέλεση Εντολής: Εκτελέστε μια εντολή Bash και στείλτε το αποτέλεσμά της μέσω Nextcloud Talk.

    Παράδειγμα:

    python3 nextcloudtalkbot.py --command "ls -la"
    
  • Προκαθορισμένα Scripts: Εκτελέστε ένα ή περισσότερα από τα ενσωματωμένα scripts για διάφορες διεργασίες συστήματος:

    Διαθέσιμα scripts:

    • storage: Έλεγχος διαθέσιμης αποθήκευσης στο sda0.
    • nextcloud_login: Λήψη αποτυχημένων προσπαθειών σύνδεσης από τις καταγραφές του Nextcloud τις τελευταίες 2 ώρες.
    • wireguard: Λήψη αποτυχημένων προσπαθειών σύνδεσης από τις καταγραφές του Wireguard.
    • boot: Αποστολή μηνύματος με τον χρόνο από την εκκίνηση του συστήματος.
    • status: Έλεγχος της κατάστασης όλων των ενεργών Docker container.
    • cpu: Λήψη της τρέχουσας χρήσης CPU.

    Παράδειγμα (εκτέλεση πολλαπλών scripts):

    python3 nextcloudtalkbot.py --script storage status cpu
    
  • Καθορισμός custom Chat ID: Στείλτε το μήνυμά σας ή τα αποτελέσματα των scripts σε έναν custom χρήστη Nextcloud Talk:

    Παράδειγμα:

    python3 nextcloudtalkbot.py --chat "chat_id" --send "Hello World"
    
  • HELP: Εμφάνιση μηνύματος με όλες τις διαθέσιμες εντολές και επιλογές.

    Παράδειγμα:

    python3 nextcloudtalkbot.py --help
    

:warning: Αντιμετώπιση Προβλημάτων

  • Οι Environment Variables δεν έχουν φορτωθεί.: Βεβαιωθείτε ότι έχετε ένα έγκυρο αρχείο .env στον φάκελο..
  • Προβλήματα Σύνδεσης στον server σας στο Nextcloud: Ελέγξτε τα δεδομένα που έχετε εισάγει ως NEXTCLOUD_URL, BOT_USERNAME και BOT_PASSWORD στο αρχείο .env.
  • Λείπουν πακέτα της Python;: Εκτελέστε pip install -r requirements.txt για να βεβαιωθείτε ότι έχουν εγκατασταθεί όλα τα απαιτούμενα πακέτα.

:rocket: NextCloudATalkAutomationBot – Δημιουργήθηκε από τον Δημήτρη Βαγιακάκο @sv1sjp - TuxHouse
Έκδοση 1.03


Θέλετε να στήσετε το δικό σας NextCloud server; Δείτε τον οδηγό του @Ippo_Cratis : raspberry: nextcloud + caddy2 docker με caddy2 reverse proxy στο host

3 «Μου αρέσει»