Slack To Discord migrations

Μεταφορά Slack Workspace σε Discord Server

Ένας οδηγός για το πώς να μεταφέρεις όλο το περιεχόμενο των καναλιών από ένα workspace στο Slack σε έναν Server στο Discord.

TL;DR: To Slack απόφάσισε στη δωρεάν έκδοση να εμφανίζει μόνο τα μηνύματα των τελευταίων 90 ημερών. Σου δίνει, όμως, τη δυνατότητα να εξάγεις όλα σου τα δεδομένα (και αυτά που είναι πιο παλιά από 90 ημέρες). Εδώ, σου προτείνω μια διαδικασία για το πώς θα εισάγεις αυτά τα δεδομένα σε έναν server στο Discord.

Εισαγωγή

Η διαδικασία έχει ως εξής: Αρχικά θα πρέπει να εξάγεις τα δεδομένα σου. Μπορείς να τα εξάγεις με εύκολο τρόπο από ένα έτοιμο εργαλείο που σου δίνει (ευτυχώς δωρεάν) το Slack. Τα δεδομένα σου θα μπορείς να τα κατεβάσεις σε ένα zip αρχείο. Επίσης, μπορείς να διαλέξεις να εξάγεις τα μηνύματα του Workspace για ένα χρονικό διάστημα ή και όλα.
Κατόπιν, θα πρέπει τρέξεις ένα script για την μεταφορά των δεδομένων σου από το Slack στο Discord. Αυτό το script για να τρέξει θα πρέπει να έχεις εγκατεστημένη τη γλώσσα Python στον υπολογιστή σου. Οπότε, πρέπει αρχικά να την εγκαταστάσεις. Αυτό το Python script θα στείλει τα δεδομένα σου σε έναν νέο, παρθένο server, που θα έχεις δημιουργήσει στο Discord, μέσω ενός application και ενός bot του, που επίσης πρέπει να φτιάξεις. Αγχώθηκες; Δεν χρειάζεται 🙂 Πάμε!

Βήμα 1ο: Εξαγωγή των δεδομένων σου από το Slack

Αρχικά θα πρέπει να κάνεις την εξαγωγή των δεδομένων σου από το Slack. Για την διαδικασία αυτή το slack έχει δημιουργήσει έναν μηχανισμό εξαγωγής. Για να κάνεις την εξαγωγή πρέπει να είσαι administrator στο Workspace. Πήγαινε εδώ: https://my.slack.com/services/export , συνδέσου και κατόπιν μπορείς να ζητήσεις την εξαγωγή των δεδομένων σου

Tip: Καλό θα ήταν να εξάγεις όλα σου τα δεδομένα επιλέγοντας “Entire history”

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

Βήμα 2ο: Προετοιμασία στο Discord

Το Discord είναι μια παρόμοια πλατφόρμα με το Slack. Εάν χρησιμοποιούσες το Slack για να μιλάς με τους συνεργάτες στην εταιρεία σου ή είχες φτιάξει μια μικρή κοινότητα, τότε κατά πάσα πιθανότητα το Discord θα καλύψει τις ανάγκες σου.
Εάν δεν έχεις ακούσει ξανά για το Discord μπορείς να διαβάσεις κάποια εισαγωγικά εδώ:
https://discord.com/safety/360044149331-what-is-discord ή να δεις αυτό το video: https://www.youtube.com/watch?v=TJ13BA3-NR4

α. Δημιούργησε ένα νέο Server στο Discord.

Εάν δεν ξέρεις πώς να το κάνεις διάβασε ένα σύντομο οδηγό εδώ: https://support.discord.com/hc/en-us/articles/204849977-How-do-I-create-a-server-

β. Πρέπει να δημιουργήσεις ένα application και ένα bot στο Discord.

Αναλυτικές οδηγίες (στα αγγλικά) θα βρεις εδώ: https://discordpy.readthedocs.io/en/latest/discord.html
Το πιο κρίσιμο σημείο είναι τα permission που πρέπει να δώσεις στο bot και τα οποία είναι τα παρακάτω:

  • Manage Channels – to create the imported channels and change the topics of them
  • Manage Webhooks – to allow the bot to fake the usernames and avatars of Slack users
  • Send Messages
  • Create Public Threads
  • Send Messages in Threads
  • Embed Links – to add reactions to messages (see ‘Limitations’ section)
  • Attach Files
  • Manage Messages – to pin messages [optional]

Εάν για κάποιο λόγο έχεις πρόβλημα με τα δικαιώματα (Permission) του bot μπορείς να του παραχωρήσεις δικαιώματα Administrator, αλλά μετά το τέλος της εργασίας θα πρέπει να αφαιρέσεις αυτήν την επιλογή ή και όλα τα δικαιώματα για λόγους ασφαλείας. Επίσης, δεν θα πρέπει πουθενά να κοινοποιήσεις τα token (κλειδιά).

Σημαντικό: Πρέπει να κρατήσεις το token από το bot που θα δημιουργήσεις και να το αποθηκεύσεις σε ένα txt αρχείο γιατί θα σου χρειαστεί στη συνέχεια.!

Βήμα 3ο: Μη τρομάξεις αλλά πρέπει να εγκαταστήσεις την Python (είναι απλό)

Ω ναι! Πρέπει να εγκαταστήσεις την Python. To τελικό script που θα κάνει την δουλειά της μεταφοράς είναι γραμμένο σε Python και για να το “τρέξεις” από τον υπολογιστή σου απαιτείται η εγκατάσταση αυτής της γλώσσας. Μην τρομάζεις είπαμε. Δεν θα χρειαστεί να προγραμματίσεις κάτι. Αρκεί μόνο να “τρέξεις” μια εγκατάσταση.

Σκηνή από την ταινία των Monty Python's The Meaning of Life (1983)
Σκηνή από την ταινία των Monty Python’s The Meaning of Life (1983)
Διάβασε πώς η γλώσσα χρωστά το όνομα της στους Monty Python

Μπορείς να τσεκάρεις εάν είναι ήδη εγκατεστημένη η Python στον υπολογιστή σου κάνοντας τα εξής:
Πάτα το ⊞ Win key.
Πληκτρολόγησε cmd
και πάτα Enter

Όταν ανοίξει η γραμμή εντολών πληκτρολογήστε δώστε την εντολή:
>python –version
Εάν σου επιστρέψει τον αριθμό της έκδοσης τότε είσαι οκ, οπότε προσπέρασε το επόμενο βήμα.

Λοιπόν, αρχικά πρέπει να επισκεφθείς αυτή τη σελίδα: https://www.python.org/downloads/ και να κατεβάσεις το αρχείο εγκατάστασης που ταιριάζει στο λειτουργικό σου. Κατόπιν, μπορείς να ξεκινήσεις την εγκατάσταση τοπικά. Κατά την εγκατάσταση πιθανόν να ερωτηθείς εάν θες να εγκαταστήσεις το pip. To pip είναι ο package Manager της Python και θα τον χρειαστούμε.

Μόλις η εγκατάσταση τελειώσει, τότε για να βεβαιωθείς δώσε τις παρακάτω εντολές:
python –version
και
pip –version
Εάν πάρεις κάτι σαν το παρακάτω screenshot τότε είσαι έτοιμος να ξεκινήσεις για το επόμενο βήμα.

Python check

Εάν παρόλα αυτά αντιμετωπίζεις κάποιο πρόβλημα, σου έχω εδώ ένα πολύ καλό άρθρο που θα σε βοηθήσει στην εγκατάσταση της Python και του pip. https://bit.ly/3vdyEvv

Βήμα 4ο – Apocalypse Now: Εισαγωγή δεδομένων στο Discord

Πήγαινε εδώ https://github.com/pR0Ps/slack-to-discord, και διάβασε τις σημειώσεις του συγγραφέα. Δεν χρειάζεται να κατεβάσεις το script.

Άνοιξε την γραμμή εντολών με cmd και πλήκτρολόγησε:

>pip install slack-to-discord

Ουσιαστικά, τώρα έχεις εγκαταστήσει το script και είσαι έτοιμος να δώσεις εντολή να γίνει η εισαγωγή.

Η μορφή της εντολής που πρέπει να δώσεις (στην γραμμή εντολών) είναι η παρακάτω:

>slack-to-discord -z YourWorkSpaceExport.zip -t YourTokenNumber -g YOURDISCORDSERVER -p -v

Ας την δούμε αναλυτικά: Το slack-to-discord είναι η εντολή για να ξεκινήσει το script
Με τo -z YourWorkSpaceExport.zip δηλώνεις ποια είναι η διαδρομή και το όνομα του αρχείου zip που έχεις κατεβάσει από το πρώτο βήμα.
Με το -t YourTokenNumber δηλώνεις το Token number που κράτησες στο δεύτερο βήμα
Με το -g YOURDISCORDSERVER δηλώνεις το όνομα του νέου server που δημιούργησες στo Discord
Με το -p δηλώνεις ότι τα κανάλια που θα μεταφερθούν θα είναι private (ιδιωτικά). Μετά θα μπορείς αυτό να το αλλάξεις. (Είναι προαιρετικό)
Με το -v λες στην python ότι θες το script να τρέξει και εσύ να βλέπεις στη γραμμή εντολών την εξέλιξή του (show logs) (Είναι προαιρετικό)

Για την διευκόλυνσή σου, σου προτείνω να τρέξεις το script από το directory που έχεις αποθηκεύσει το zip αρχείο ώστε να μη ψάχνεις τo path.

Το πλήρες set εντολών για το συγκεκριμένο script είναι το παρακάτω και μπορείς να το δεις δίνοντας την εντολή slack-to-discord –help

usage: slack-to-discord [-h] -z ZIPFILE -t TOKEN -g GUILD [-c [CHANNELS …]] [-s START] [-e END] [-p] [-r] [-v]

Import Slack chat history into Discord options:
-h, –help show this help message and exit
-z ZIPFILE, –zipfile ZIPFILE
The Slack export zip file
-t TOKEN, –token TOKEN
The Discord bot token
-g GUILD, –guild GUILD
The Discord Guild to import history into
-c [CHANNELS …], –channels [CHANNELS …]
When specified, will only import the provided channels. Do not include the ‘#’s (ex: ‘general’, not ‘#general’)
-s START, –start START
The date to start importing from (YYYY-MM-DD)
-e END, –end END The date to end importing at (YYYY-MM-DD)
-p, –all-private Import all channels as private channels in Discord
-r, –real-names Use real names from Slack instead of usernames
-v, –verbose Show more verbose logs

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

Να ξέρετε ότι τα πραγματικά δεδομένα σας παραμένουν στο slack και δεν επηρεάζονται από το export. Οποιαδήποτε στιγμή μπορείτε να τα εξάγετε ξανά.

Επίσης, καλό θα ήταν να πειραματιστείτε με κάποιες δοκιμαστικές μεταφορές που μπορείτε να κάνετε χρησιμοποιώντας data από μικρότερο χρονικό διάστημα. Αυτό μπορείτε να το πετύχετε είτε κάνοντας export συγκεκριμένες χρονικές περιόδους, είτε χρησιμοποιώντας τους διακόπτες -s και -e της εντολής του script για να περιορίσετε τα δεδομένα.

Σας ενημερώνω πως η εισαγωγή παίρνει αρκετό χρόνο. Εισάγονται περίπου 50 μηνύματα το λεπτό.

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

Αφήστε ένα Σχόλιο

Η ηλ. διεύθυνση σας δεν δημοσιεύεται.

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει τα ανεπιθύμητα σχόλια. Μάθετε πώς υφίστανται επεξεργασία τα δεδομένα των σχολίων σας.