Como el período de almacenamiento de registros de Slack se ha reducido a 90 días, los registros de Slack están desapareciendo rápidamente. Este es un recordatorio sobre cómo copiar emojis personalizados (reacciones) de Slack a Mattermost al implementar Mattermost.
Extracción de reacciones de Slack
Inicialmente, pensé en usar la API de Slack para extraer, pero resulta que es muy fácil descargar usando la extensión de Chrome Slack Custom Emoji ManagerSlack.
Solo hay que instalar la extensión de Chrome y acceder a https://<tu_Slack>.slack.com/emoji y presionar “Descargar todos los emojis”.
Importar en Mattermost
Voy a registrar todo usando curl a través de la API. Un punto a tener en cuenta es que mientras que Slack permite nombres de reacciones en japonés, Mattermost no puede registrar nombres multibyte, por lo que si hay algún nombre en japonés en las reacciones descargadas, deberás corregirlo de antemano.
Crear un bot para usar la API y obtener un token de acceso
- Selecciona “Funciones de integración” :
- Selecciona “Cuenta de Bot”
- Presiona “Agregar cuenta de Bot”
- Crea la cuenta
Asigna el rol de “Administrador del sistema”.
- Se generará un token, así que asegúrate de recordarlo
Obtener el ID del usuario del Bot
Necesitas especificar el ID del usuario del bot al registrar los emojis, así que obtén el ID del usuario del bot usando la API.
$ TOKEN="TOKEN obtenido anteriormente"
$ CREATE_ID=$(curl -s -X GET -H "Authorization: Bearer ${TOKEN}" https://<URL de Mattermost>/api/v4/users/me | jq -r .id)
$ echo $CREATE_ID
Deberías tener el ID del usuario del Bot almacenado en la variable CREATE_ID.
Registrar en bloque usando el token de API y el BotID
Coloca los emojis descargados en un directorio y ejecútalo.
$ TOKEN="TOKEN obtenido anteriormente"
$ CREATE_ID="ID del Bot obtenido anteriormente"
$ for file in $(ls)
do
name=$(echo $file | cut -d . -f 1)
curl -X POST -H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: multipart/form-data" \
-F "emoji={\"name\":\"${name}\",\"creator_id\":\"${CREATE_ID}\"}" -F "image=@./${file}" \
https://<URL de Mattermost>/api/v4/emoji
done
De esta manera, se registrarán como emojis según el nombre del archivo.