Ce guide explique comment configurer un répondeur automatique à l’aide du plugin d’automatisation dans Discourse. Le répondeur automatique peut répondre automatiquement aux publications ou aux messages personnels contenant des mots-clés spécifiques.
Niveau utilisateur requis : Administrateur
Un répondeur automatique dans Discourse peut répondre automatiquement aux publications contenant certains mots ou expressions. Cette fonctionnalité permet aux modérateurs et aux administrateurs de se concentrer sur des tâches plus complexes en automatisant les réponses aux requêtes ou situations courantes.
Résumé
Ce guide couvre :
La création d’un nouveau script de répondeur automatique
Le choix et la configuration d’un déclencheur
La configuration des paires mot/réponse
L’activation de l’automatisation
Création d’un nouveau script
Accédez à la page d’automatisation de votre site à l’adresse example.discourse.com/admin/plugins/automation
Options du déclencheur Publication créée / modifiée
Type d’action : Limiter aux publications créées ou modifiées
Type de sujet : Limiter à tous les sujets, uniquement les sujets publics, ou uniquement les messages personnels
Catégories : Limiter à des catégories spécifiques
Exclure les sous-catégories : Déclencher uniquement si le sujet se trouve exactement dans les catégories spécifiées (et non dans leurs sous-catégories)
Étiquettes : Limiter aux publications dans des sujets avec des étiquettes spécifiques
Groupes restreints : Limiter aux publications par des utilisateurs appartenant à des groupes spécifiques
Groupes exclus : Ignorer si l’utilisateur de la publication appartient à l’un de ces groupes
Boîtes de réception restreintes par groupe : Limiter aux messages personnels dans des boîtes de réception de groupes spécifiques
Ignorer les automatisés : Ignorer si l’expéditeur a une adresse e-mail noreply ou provient d’une source automatisée (s’applique uniquement aux publications créées par e-mail)
Niveaux de confiance valides : Limiter aux publications d’utilisateurs avec des niveaux de confiance spécifiques
Seul le message d’origine : Déclencher uniquement sur le message d’origine (OP) d’un sujet
Seul le premier message : Limiter au premier message d’un utilisateur
Seul le premier sujet : Limiter au premier sujet d’un utilisateur
Ignorer via e-mail : Ignorer le déclencheur si la publication a été créée par e-mail
Fonctionnalités de publication : Limiter aux publications contenant des fonctionnalités spécifiques (images, liens, code ou fichiers joints)
Utilisateurs : Limiter aux messages personnels envoyés à des utilisateurs spécifiques
Groupe : Limiter aux messages personnels envoyés à un groupe spécifique
Ignorer le personnel : Ignorer si l’expéditeur est un membre du personnel
Ignorer les automatisés : Ignorer si l’expéditeur a une adresse e-mail noreply ou provient d’une source automatisée (s’applique uniquement aux messages personnels créés par e-mail)
Ignorer les membres du groupe : Ignorer si l’expéditeur est membre du groupe spécifié
Niveaux de confiance valides : Limiter aux messages personnels d’utilisateurs avec des niveaux de confiance spécifiques
La clé est évaluée comme une expression régulière avec correspondance aux limites de mots. Échappez les caractères spéciaux comme . avec une barre oblique inverse (par exemple, \\.). Vous pouvez tester vos expressions régulières sur regex101.com en utilisant la variante Ruby.
Utilisez %%KEY%% dans le champ valeur comme espace réservé pour le mot déclencheur détecté. Vous pouvez également utiliser %%SENDER_USERNAME%% comme espace réservé pour le nom d’utilisateur de l’utilisateur répondant.
Si plusieurs paires mot/réponse correspondent à la même publication, toutes les réponses correspondantes sont combinées en une seule réponse (séparées par des lignes vides).
Activation de l’automatisation
Cochez la case Activé en bas de l’écran
Cliquez sur Mettre à jour pour enregistrer vos modifications
Les automatisations peuvent être enregistrées sans être activées en laissant la case Activé décochée.
Est-il possible de limiter la réponse automatique au message initial d’un sujet ? On pourrait penser que Once ferait cela, mais (avec un recul évident) ce n’est correct que si le sujet est créé après l’automatisation.
Alternativement (ou en plus ?), la publication automatique pourrait-elle être datée pour qu’elle apparaisse immédiatement après le message initial du sujet (puis fusionnée dans cet ordre) ?
Alors… vous avez une catégorie de discussions anciennes, et quand quelqu’un répond là-bas, vous obtenez une réponse automatique qui n’est pas utile, mais qui contient des informations utiles en réponse à la création d’un sujet… c’est bien ça ?
Si c’est le cas, malheureusement, je ne pense pas que cette automatisation prenne actuellement en charge ce comportement. J’ai examiné les autres automatisations, et je pense que la seule qui pourrait fonctionner serait le triage avec l’IA, mais cela semble coûteux pour obtenir les résultats que vous recherchez.
Existe-t-il d’autres variables de modèle disponibles dans la réponse ? J’aimerais pouvoir accéder au nom d’utilisateur de la personne qui a envoyé un message privé à un groupe.
Actuellement, l’utilisation de %%KEY%% dans le champ value comme espace réservé pour le mot déclencheur détecté est la seule variable de modèle disponible pour nous dans l’automatisation du répondeur automatique.
Il ne semble pas y avoir de variable intégrée pour accéder au nom d’utilisateur de la personne qui a envoyé un message privé à un groupe dans l’automatisation du répondeur automatique. Ceci est une limitation dans l’implémentation actuelle, car d’autres fonctionnalités de Discourse (comme les modèles d’e-mail, les personas IA et le script d’automatisation « Envoyer des messages privés ») disposent de diverses variables liées à l’utilisateur.
Dans cette optique, cela ressemble à quelques autres demandes que nous avons eues pour ce type de fonctionnalité.
Si cette fonctionnalité vous intéresse, je vous encourage à créer un sujet Feature, avec plus d’informations sur le type de variables de modèle que vous aimeriez voir ajoutées à cette automatisation. Plus il y a de personnes qui montrent de l’intérêt pour une fonctionnalité, plus il est probable qu’elle soit intégrée à Discourse. Cela semble être une idée intéressante et nous aimerions en savoir plus sur ce que vous recherchez.
Est-il possible d’utiliser un caractère générique pour déclencher une réponse pour tout sujet qui ne correspond à aucune des paires de mots-clés que vous créez ?
De plus, si plusieurs mots-clés sont mentionnés dans le même sujet, comment la réponse est-elle choisie ?
Par ordre alphabétique ou de haut en bas ?
La détection de déclenchement du répondeur automatique est conçue pour répondre à des modèles regex spécifiques que vous définissez dans vos paires clé/valeur. Il n’existe pas de fonctionnalité explicite pour un « tout attraper » qui se déclencherait lorsqu’aucune autre paire clé/valeur ne correspond.
Cependant, étant donné que les clés sont évaluées en tant que chaînes regex, vous pouvez créer un modèle regex très large comme dernière entrée qui correspondrait à presque tout contenu. Quelque chose comme .* fonctionnerait comme un regex « tout attraper », bien que cela corresponde à tout (y compris le contenu qui correspond à vos autres modèles).
Lorsque plusieurs mots-clés sont trouvés dans un message ou un sujet, le répondeur automatique répondra avec TOUTES les réponses correspondantes. Les réponses seront publiées dans le même ordre que les paires clé/valeur ont été ajoutées ou sont listées dans la configuration.
Cela signifie que si votre message contient des mots-clés qui correspondent à plusieurs modèles, vous recevrez plusieurs réponses automatisées dans la séquence où elles apparaissent dans votre liste de paires mot/réponse.
Oh, ce n’est pas bon. C’est pour notre système de billetterie et je détesterais spammer un client avec 2 ou 3 réponses par e-mail différentes lorsqu’il demande de l’aide.
Ce serait génial s’il y avait un paramètre pour : Combiner plusieurs correspondances de paires clé/valeur en une seule réponse.
D’ici là, je reviendrai à l’utilisation initiale et j’utiliserai le .* avec une réponse générique unifiée. Sauf que cela ne devrait alors se déclencher que si {user} n’a pas publié dans {category} pendant {x} jours.