Δημιουργήστε αυτό το slack bot και δώστε στο κανάλι σας μια πιο φιλική ατμόσφαιρα.

Το να καλωσορίσετε νέους χρήστες στο κανάλι σας τους κάνει να νιώθουν σαν στο σπίτι τους, αλλά η παρακολούθηση κάθε χρήστη που εγγράφεται μπορεί να είναι μια κουραστική εργασία. Εκεί μπαίνει ένα ρομπότ υποδοχής του Slack. Το bot στέλνει ένα εξατομικευμένο μήνυμα καλωσορίσματος σε κάθε νέο χρήστη του καναλιού. Είναι πάντα online, επομένως δεν θα υπάρχουν καθυστερημένα μηνύματα καλωσορίσματος.

Θα μάθετε πώς να ρυθμίζετε τα διαπιστευτήρια του bot σας, να ακούτε συμβάντα στο Slack και να στέλνετε μηνύματα στους χρήστες.

Δημιουργία Slack Bot και λήψη του API Token του

Δημιουργώ ένα Χαλαρός λογαριασμός ή συνδεθείτε στο υπάρχον σας. Στη συνέχεια δημιουργήστε ένα νέος χώρος εργασίας Slack για να δοκιμάσετε το bot σας πριν το εγκαταστήσετε στον ενεργό χώρο εργασίας σας.

Συνδεθείτε στον νέο σας χώρο εργασίας. Το Slack δημιουργεί αυτόματα ένα τυχαίο και γενικό κανάλι για εσάς.

Παρατηρήστε την ενότητα Εφαρμογές στο κάτω αριστερό μέρος του χώρου εργασίας. Εδώ θα εμφανίζεται το bot μας όταν το δημιουργήσετε. Πλοηγηθείτε στο

Ιστότοπος Slack API.

Κάντε κλικ στο Δημιουργήστε μια εφαρμογή. Δημιουργήστε την εφαρμογή Από την αρχή στο παράθυρο που εμφανίζεται.

Ονομάστε την εφαρμογή σας και επιλέξτε τον χώρο εργασίας στον οποίο θέλετε να την αναπτύξετε.

Στη συνέχεια κάντε κλικ στο Δημιουργία εφαρμογής κουμπί. Κάνοντας κλικ θα ανακατευθυνθείτε σε μια σελίδα που περιέχει τις βασικές πληροφορίες της εφαρμογής σας. Σημειώστε το μυστικό υπογραφής κάτω από τα διαπιστευτήρια της εφαρμογής. Το ρομπότ σας θα χρησιμοποιήσει το μυστικό υπογραφής για να επαληθεύσει ότι ένα συμβάν προήλθε από το Slack και ότι δεν παραποιήθηκε κατά τη μετάδοση.

Μεταβείτε στη λειτουργία OAuth & Permissions.

Στην περιοχή OAuth & Permissions, μεταβείτε στο Bot Token Scopes. Εδώ θα προσθέσετε τα δικαιώματα για το τι μπορεί να κάνει το bot σας στον χώρο εργασίας σας. Πρόσθεσε το χρήστες: διαβάστε πεδίο εφαρμογής. Αυτό το εύρος θα επιτρέψει στο bot σας να προβάλλει τα άτομα στον χώρο εργασίας σας. Επίσης, προσθέστε το συνομιλία: γράφω εύρος που θα επιτρέψει στο bot σας να στέλνει μηνύματα στον χώρο εργασίας.

Πλοηγηθείτε πίσω στις βασικές πληροφορίες του bot σας και κάντε κλικ Εγκατάσταση στο Workspace.

Κάντε κλικ στην επιλογή να επιτρέπεται στην επόμενη σελίδα που εμφανίζεται. Τώρα έχετε ολοκληρώσει την εγκατάσταση του bot στον χώρο εργασίας σας. Μεταβείτε στη λειτουργία OAuth & Permissions. Σημειώστε το Διακριτικό OAuth χρήστη Bot που δημιουργεί το Slack μετά την εγκατάσταση. Το bot θα είναι ορατό στην ενότητα εφαρμογών του χώρου εργασίας σας.

Τώρα που έχετε εγκαταστήσει το bot στον χώρο εργασίας σας, μπορείτε να γράψετε τον κώδικα για να το ελέγξετε.

Προετοιμασία του Περιβάλλοντος σας

Πρέπει να είστε εξοικειωμένοι με το βασικά της Python για να ακολουθήσετε αυτά τα δείγματα κώδικα.

Δημιουργήστε ένα νέο εικονικό περιβάλλον και ένα .env αρχείο. Θα χρησιμοποιήσετε το αρχείο .env για να αποθηκεύσετε το διακριτικό σας και το μυστικό υπογραφής, το οποίο πρέπει να κρατήσετε απόρρητο. Δεν πρέπει να ανεβάσετε το αρχείο .env σε καμία δημόσια πλατφόρμα.

Εκτελέστε την ακόλουθη εντολή σε ένα τερματικό για να εγκαταστήσετε τις απαιτούμενες βιβλιοθήκες:

pip install slack-sdk pathlib dotenv flask slackeventsapi

Η βιβλιοθήκη slack-sdk θα σας παρέχει εργαλεία για τη δημιουργία εφαρμογών και ενσωματώσεων Slack, συμπεριλαμβανομένων των μεθόδων API, των πελατών Web API και του OAuth. Το pathlib και το dotenv θα σας βοηθήσουν να φορτώσετε τις μεταβλητές περιβάλλοντος. Το flask θα σας βοηθήσει να χειριστείτε τα αιτήματα και τις απαντήσεις HTTP. Το slackeventsapi θα σας παρέχει έναν ακροατή συμβάντων που λαμβάνει και χειρίζεται συμβάντα από το Slack.

Ο πλήρης πηγαίος κώδικας είναι διαθέσιμος σε α Αποθετήριο GitHub.

Εισαγωγή των Απαιτούμενων Βιβλιοθηκών

Δημιουργήστε ένα νέο αρχείο Python και ξεκινήστε εισάγοντας τις βιβλιοθήκες που εγκαταστήσατε προηγουμένως, ώστε να μπορείτε να χρησιμοποιήσετε τη λειτουργικότητά τους στον κώδικά σας.

εισαγωγή slack_sdk όπως και χαλαρότητα
εισαγωγή os
από pathlib εισαγωγή Μονοπάτι
από dotenv εισαγωγή load_dotenv
από φλάσκα εισαγωγή Φλάσκα
από slackeventsapi εισαγωγή SlackEventAdapter

Η λειτουργική μονάδα Python συνοδεύεται από τη γλώσσα, επομένως δεν χρειάζεται να την εγκαταστήσετε. Το SlackEventAdapter είναι μια κλάση από τη λειτουργική μονάδα slackeventsapi που χειρίζεται συμβάντα από το Slack API.

Ρύθμιση του Slack Bot

Δημιουργήστε δύο μεταβλητές στο αρχείο .env. Ονομάστε ένα SLACK_BOT_TOKEN και εκχωρήστε του το Bot User OAuth Token. Ονομάστε το άλλο SLACK_SIGNING_SECRET και εκχωρήστε του το μυστικό υπογραφής. Επιστρέψτε στο αρχείο Python και δημιουργήστε ένα αντικείμενο Flask. Στη συνέχεια, φορτώστε τις μεταβλητές περιβάλλοντος από το αρχείο .env χρησιμοποιώντας τη συνάρτηση load_dotenv από τη λειτουργική μονάδα dotenv.

app = Flask (__name__)
env_path = Διαδρομή('.') / ".env"
load_dotenv (dotenv_path=env_path)

Δημιουργήστε μια παρουσία slack_event_adapter. Θα χειρίζεται συμβάντα από το Slack API, χρησιμοποιώντας τη μεταβλητή περιβάλλοντος SLACK_SIGNING_SECRET για τον έλεγχο ταυτότητας αιτημάτων.

slack_event_adapter = SlackEventAdapter (os.environ['SLACK_SIGNING_SECRET'],
'/slack/events', εφαρμογή)

Το /slack/events είναι το τελικό σημείο που θα χρησιμοποιήσει το Slack API για την αποστολή συμβάντων.

Δημιουργήστε μια παρουσία WebClient που θα στέλνει μηνύματα στο Slack API. Πραγματοποιήστε μια κλήση API για να ανακτήσετε το αναγνωριστικό του bot.

πελάτης = χαλαρός. WebClient (token=os.environ['SLACK_BOT_TOKEN'])
BOT_ID = client.api_call("auth.test")['ταυτότητα χρήστη']

Ρυθμίστε το μήνυμα που θα στείλετε στους νέους χρήστες που εγγράφονται σε ένα κανάλι. Αρχικοποιήστε ένα κενό σύνολο που θα παρακολουθεί τους καλωσορισμένους χρήστες.

GREETING_MESSAGE = "Γεια σας {user_name}, καλώς ήρθατε στο {channel_name}" \
"Κανάλι! Είμαστε ενθουσιασμένοι που σας έχουμε εδώ».
Welcome_users = set()

Μπορείτε να προσαρμόσετε τον χαιρετισμό σύμφωνα με τις προτιμήσεις σας.

Δημιουργία συνάρτησης για το χειρισμό του συμβάντος "Μέλος στο κανάλι".

Ρυθμίστε ένα πρόγραμμα ακρόασης συμβάντων. Θα ακούσει την εκδήλωση Member_joined_channel.

@slack_event_adapter.on('member_joined_channel')

Καθορίστε μια λειτουργία που θα καλείτε όταν ένας χρήστης εγγραφεί σε ένα κανάλι. Χρησιμοποιήστε τη λειτουργία για να εξαγάγετε το αναγνωριστικό χρήστη και το αναγνωριστικό καναλιού από τα δεδομένα συμβάντος. Ελέγξτε εάν ο χρήστης είναι νέος στο κανάλι. Εάν όχι, λάβετε πληροφορίες χρήστη και καναλιού χρησιμοποιώντας την κλάση WebClient. Δημιουργήστε ένα εξατομικευμένο μήνυμα χαιρετισμού. Στείλτε τον χαιρετισμό στο κανάλι

defhandle_member_joined_channel(δεδομένα_συμβάντος):
user_id = συμβάν_δεδομένα['Εκδήλωση']['χρήστης']
channel_id = event_data['Εκδήλωση']['Κανάλι']

# Στείλτε μήνυμα καλωσορίσματος μόνο εάν ο χρήστης είναι νέος
αν ταυτότητα χρήστη δενσε welcome_users:
welcomed_users.add (user_id)

user_info = client.users_info (user=user_id)
όνομα_χρήστη = πληροφορίες_χρήστη['χρήστης']['όνομα']

channel_info = client.conversations_info (channel=channel_id)
όνομα_καναλιού = πληροφορίες_καναλιού['Κανάλι']['όνομα']

greeting = GREETING_MESSAGE.format (όνομα_χρήστη=όνομα_χρήστη,
όνομα_καναλιού=όνομα_καναλιού)

client.chat_postMessage (κανάλι=αναγνωριστικό_καναλιού, κείμενο=χαιρετισμός)

Το event_data περιέχει όλες τις πληροφορίες σχετικά με το συμβάν στο οποίο ένας χρήστης έχει εγγραφεί σε ένα κανάλι.

Ξεκινήστε την εφαρμογή Flask και εκτελέστε το σενάριο. Εάν εκτελείται ως το κύριο πρόγραμμα (δεν εισάγεται ως λειτουργική μονάδα), εκτελέστε τη λειτουργία εντοπισμού σφαλμάτων και ακούστε τη θύρα 5000.

αν __όνομα__ == "__κύριος__":
app.run (debug=Αληθής, λιμάνι=5000)

Η λειτουργία εντοπισμού σφαλμάτων επαναφορτώνει αυτόματα την εφαρμογή όταν κάνετε αλλαγές στον κώδικα. Μην χρησιμοποιείτε τη λειτουργία εντοπισμού σφαλμάτων σε περιβάλλον παραγωγής, μπορεί να εκθέσει ευαίσθητες πληροφορίες και να κάνει την εφαρμογή σας ευάλωτη σε επιθέσεις. Εκτελέστε την εφαρμογή σας. Θα τρέχει ως τοπικός διακομιστής στη θύρα 5000.

Συνδέοντας τη λογική με το Bot σας

Έχοντας δημιουργήσει τη λογική, τώρα πρέπει να συνδεθείτε με το bot στον χώρο εργασίας σας. Αυτό θα του επιτρέψει να χρησιμοποιήσει αυτή τη λογική για να εκτελέσει λειτουργίες στον χώρο εργασίας σας. Ξεκινήστε με λήψη και εκτέλεση Νγκροκ. Το Ngrok θα σας βοηθήσει να εκθέσετε τον τοπικό σας διακομιστή ιστού στο διαδίκτυο.

Αφού το εκτελέσετε, χρησιμοποιήστε την ακόλουθη εντολή για να αντιστοιχίσετε τη διεύθυνση του τοπικού σας διακομιστή σε αυτήν του Ngrok.

ngrok http 500

Αντιγράψτε τη διεύθυνση Ngrok που αντιστοιχεί στον τοπικό σας κεντρικό υπολογιστή.

Μεταβείτε στον ιστότοπο του Slack API. Σύμφωνα με το Συνδρομές εκδηλώσεων δυνατότητα, ενεργοποίηση συμβάντων. Κάτω από Αίτημα URL πληκτρολογήστε τη διεύθυνση Ngrok ακολουθούμενη από /slack/events. Αυτό θα οδηγήσει στο τελικό σημείο σας.

Στη συνέχεια, εγγραφείτε στην εκδήλωση Member_joined_channel. Αυτό θα ειδοποιεί το bot σας κάθε φορά που ένας χρήστης εγγράφεται σε ένα κανάλι. Κάντε κλικ στο Αποθήκευσε τις αλλαγές. Το Slack θα προσθέσει αυτόματα τα πεδία που χρειάζεστε για να εγγραφείτε σε αυτό το συμβάν. Κάθε φορά που αλλάζετε ένα εύρος, θα πρέπει να επανεγκαθιστάτε την εφαρμογή σας στον χώρο εργασίας.

Κάντε κλικ στην επανεγκατάσταση της εφαρμογής σας.

Δοκιμάζοντας το Bot σας

Μεταβείτε στον χώρο εργασίας σας. Μεταβείτε στο κανάλι που θέλετε να χρησιμοποιήσετε το bot. Στείλτε ένα άμεσο μήνυμα στο bot. Για παράδειγμα @Welcoming Bot. Θα εμφανιστεί ένα μήνυμα για να προσθέσετε το bot στο κανάλι. Κάντε κλικ στην προσθήκη.

Τώρα, κάθε φορά που ένας νέος χρήστης μπαίνει στο κανάλι, το bot θα στέλνει ένα μήνυμα καλωσορίσματος.

Η παραπάνω εικόνα δείχνει το bot να καλωσορίζει έναν νέο χρήστη στο κανάλι.

Αξιοποιήστε στο έπακρο τον χαλαρό χώρο εργασίας σας

Τα Slack bots δεν είναι ο μόνος τρόπος επέκτασης της λειτουργικότητας της πλατφόρμας ανταλλαγής μηνυμάτων Slack. Η άλλη μέθοδος είναι η ενσωμάτωση εργαλείων τρίτων με το Slack. Παρέχουν πρόσθετη λειτουργικότητα εντός της πλατφόρμας.

Εξοικειωθείτε με αυτές τις ενσωματώσεις, καθώς θα αυξήσουν την παραγωγικότητά σας στο Slack.