J'essaie de construire un bot Slack en Python. Je veux que mon robot envoie un message avec des boutons interactifs, et qu'en fonction de ceux sur lesquels l'utilisateur clique, il exécute une fonction en Python. Je n'arrive pas à trouver comment faire cela.
Mon code ressemble maintenant à ceci :
message = "message"
attachments = [{"text": "message",
"attachment_type": "default",
"actions": [
{
"name": "list",
"text": "message",
"type": "select",
"options": [
{
"name": "1",
"text": "1",
"type": "button",
"value": "1"
},
{
"name": "1",
"text": "1",
"type": "button",
"value": "2"
}
]}]}]
sc.api_call("chat.postMessage",
channel=channel,
text=message,
attachments=attachments)
Cela me donne un message avec deux boutons. Je veux cependant exécuter une fonction en fonction de la réponse donnée par l'utilisateur.
Disons donc que s'ils cliquent sur 1, la fonction1() s'exécute et que s'ils cliquent sur 2, la fonction2() s'exécute.
La documentation de l'API de Slack est assez confuse sur la manière de procéder, et le "listener" qu'ils fournissent rtm_read() ne détecte pas le clic de l'utilisateur sur l'un des boutons.
Si quelqu'un pouvait m'aider, ce serait très apprécié.