J'ai besoin d'envoyer un message dans slack à une heure fixée à l'avance.
Y a-t-il un moyen de le faire via l'API de Slack ou dois-je avoir un script qui s'exécute et vérifie s'il est temps d'envoyer le message, puis l'envoie ?
J'ai besoin d'envoyer un message dans slack à une heure fixée à l'avance.
Y a-t-il un moyen de le faire via l'API de Slack ou dois-je avoir un script qui s'exécute et vérifie s'il est temps d'envoyer le message, puis l'envoie ?
@LLL Vous pouvez formater le message... /remind @channel *Remember* to _listen_ to the radio in 2 hours
Vous pouvez utiliser cette application Slack gratuite pour envoyer des messages programmés et autodestructeurs. https://timy.website
/envoyer Joyeux anniversaire à 12h
/envoyer Joyeux anniversaire dans 1h30m
/supprimer Message secret ! à 14 heures
/supprimer Message secret ! dans 3h
Vous pouvez trouver plus de détails sur le site web.
Sympa, merci d'avoir créé ça :) ! Au fait, pourquoi la durée maximale de programmation est-elle de 24h ? Ce serait génial de programmer un message le vendredi soir pour le lundi matin à un collègue qui ne veut pas être dérangé pendant le week-end (donc 72h maximum). Une autre chose à laquelle je pensais - ne pensez-vous pas que les commandes sont un peu trop génériques et pourraient entrer en collision avec d'autres bots Slack ? Peut-être les nommer ? Je ne suis pas sûr de cela... Quoi qu'il en soit, très bon travail !
Si vous souhaitez simplement envoyer un court message à un utilisateur à un moment donné, vous pouvez utiliser le rappel intégré. Le site reminder.add vous permet de spécifier une date, une heure, le texte du message et l'utilisateur qui doit recevoir le message.
Le message de rappel apparaîtra dans le canal "Slackbot" de l'utilisateur concerné.
Je veux poster des messages sur un canal, ils ne se répètent pas, ils disent essentiellement qu'un événement programmé commence et/ou se termine maintenant sans autre déclencheur que l'heure. Ce serait bien d'avoir un certain formatage sur eux aussi. Est-ce que le rappel est toujours bon pour cela ?
oui, le rappel fonctionne pour les messages non répétitifs. La mise en forme habituelle des messages fonctionne également, ce qui vous permet d'avoir du texte en gras, etc. Mais pas de pièces jointes. Ce qui est également intéressant, c'est que l'utilisateur peut suspendre le rappel. Je vais ajouter un exemple dans ma réponse.
Est-il possible de ne pas avoir le système de rappel ? Par exemple, enlever la partie "vous m'avez demandé de vous le rappeler" et marquer comme terminé et juste avoir un message avec du rouge ou du vert sur le côté qui dit quelque chose du genre "Maintenance programmée du serveur blah débutant/se terminant".
Vous pouvez utiliser l'api officielle de Slack au point de terminaison. chat.postMessage
avec une clé post_at
pour avoir votre message prévu . Plus d'informations dans documentation officielle de slack https://api.slack.com/messaging/scheduling . Vous pouvez également utiliser des applications tierces, qui sont gratuites la plupart du temps, par exemple https://thetopchat.com/ et programmer votre message avec des commandes comme, par exemple :
/delay in 3 hours {your message here}
ou
/schedule tomorrow at 3pm {your message here}
L'API de Slack fournit désormais un point de terminaison dédié à cet effet. Vous aurez besoin du chat:write
et les docs disent :
Schedules a message to be sent to a channel.
Je viens de l'implémenter et cela fonctionne comme prévu.
Vous pouvez consulter les documents ici : chat.scheduleMessage
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.