Bien gérer son statut Slack
Il y a une fonctionnalité bien pratique avec Slack, c’est la possibilité de mettre un statut. Bien pratique, parce qu’elle permet d’indiquer aux collègues si nous sommes en vacances, absent aujourd’hui, dans les transports, ou encore, automatiquement, dire que nous sommes en réunion avec l’application Google Calendar App.
Dans cet article, nous allons voir ensemble comment profiter de la force de
cette fonctionnalité en utilisant le nouveau pack d’émoji
pour gérer la balance du télétravail, un script bash,
et quelques avantages d’i3wm pour la mise à jour via
raccourcis clavier. Le contenu est adaptable à n’importe quel système
d’automatisation, et l’auteur·trice du script fournit également un script lua
pour Hammerspoon et Zoom.
Voici le résultat que nous souhaitons obtenir :
Création de l’application Slack
On va utiliser un script bash écrit par l’utilisateur·trice GitHub mivok
Ici, je vais traduire sommairement le README du dépôt où se trouve le script bash, pour le rendre plus accessible à ceux qui préfèrent le français.
- Direction la création d’application pour Slack.
- Choisir un nom pour l’application: Slack Status Updater. (Il est intéressant de spécifier votre nom si vous êtes plusieurs à faire cette manipulation sur un même Slack)
- Choisir le workspace Slack sur lequel installer cette application.
- Ensuite, nous arrivons sur la page de configuration de l’application, sélectionner OAuth & Permissions
- Descendre dans la partie Scopes et User Token Scopes et cliquer sur Add an OAuth Scope.
- Écrire
users.profile:write
et cliquer sur l’élément du menu qui se présente - Retourner en haut de la page et cliquer sur Install App to Workspace.
- Un nouvel écran apparait, cliquer sur Allow
- On est ensuite redirigé vers un écran contenant un jeton d’accès commençant
par
xoxp-
. On clique surCopy
pour le récupérer dans le presse-papier.
Configuration
Une fois cette application créée, on lance la commande slack_status.sh setup
et on suit les instructions afin de créer le fichier de configuration qui
devrait ressembler à quelque chose comme suit:
# Configuration file for slack_status
TOKEN=<YOUR_TOKEN>
PRESET_EMOJI_test=":white_check_mark:"
PRESET_TEXT_test="Testing status updater"
PRESET_EMOJI_zoom=":zoom:"
PRESET_TEXT_zoom="In a zoom meeting"
On peut ensuite le modifier de façon à avoir quelque chose qui nous correspond un peu plus:
TOKEN=<YOUR_TOKEN>
PRESET_EMOJI_zoom=":virtual-meeting:"
PRESET_TEXT_zoom="In a Virtual Meeting"
PRESET_EMOJI_brb=":brb:"
PRESET_TEXT_brb="Probably making coffee"
PRESET_EMOJI_here=":here:"
PRESET_TEXT_here="Available"
PRESET_EMOJI_away=":away:"
PRESET_TEXT_away="Not Available"
Raccourcis avec i3wm
Maintenant que nous avons nos préréglages, nous pouvons automatiser la mise à
jour de notre statut Slack via des raccourcis sur i3wm. Dans un premier temps,
on va mettre notre statut à here
quand on se connecter à notre session (c’est
à dire au chargement d’i3wm).
# Script to change Saagie's Slack Status
exec --no-startup-id "$HOME_BIN/slack_status.sh here"
Ensuite, on va créer un mode spécial ayant pour raccourci MOD+Shift+s
avec s
pour statut. Ce mode va avoir 4 options de mise à jour de status et 2 options
pour ne rien faire:
h
pourhere
(présent)a
pouraway
(absent)b
pourbrb
(be right back
reviens tout de suite)z
pourzoom
(pour la visio-conférence)Return
etEscape
pour ne rien faire et retourner en modedefault
d’i3wm.
# ----------------------------------
# EXTERNAL INTEGRATION
# ----------------------------------
set $slack_status_changer (h)ere, (a)way, (b)rb, (z)oom
mode "$slack_status_changer" {
bindsym z exec --no-startup-id $HOME_BIN/slack_status.sh zoom; \
mode "default"
bindsym a exec --no-startup-id $HOME_BIN/slack_status.sh away; \
mode "default"
bindsym b exec --no-startup-id $HOME_BIN/slack_status.sh brb; \
mode "default"
bindsym h exec --no-startup-id $HOME_BIN/slack_status.sh here; \
mode "default"
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Shift+s mode "$slack_status_changer"
Et voilà, on peut maintenant faire Mod+Shift+s
suivi de b
pour faire
comprendre aux collègues que l’on est parti prendre un café. Puis une fois
revenu, Mod+Shift+s
suivi de h
pour indiquer que l’on est bien présent.
Dans le même esprit et toujours dans l’automatisation, je me suis mis une ligne
dans la configuration pour me mettre en away
quand j’éteins ma machine le soir.
Voilà, j’espère que cet article va être utile. Je reste disponible sur Twitter pour toutes questions ou point bloquant sur cette automatisation, et sur ce, bon dev. 👋
Tu as aimé cet article et souhaite me soutenir ? Alors n'hésite pas à me sponsoriser sur GitHub ou via Paypal !