J’ai une question assez simple. Comment faire l’équivalent de /new depuis n8n ?
Mon objectif est de démarrer une nouvelle session quand elle est appelée depuis un webhook spécifique. Mon plan initial était donc de créer deux nœuds Telegram : le premier avec /new dedans et attendre la réponse, puis passer au nœud suivant. Cependant, quand j’essaie, je vois que /new n’est pas traité comme une commande, mais comme un simple message.
Est-ce possible ? Si oui, quelle est la meilleure façon de le faire ?
Le nœud Telegram reçoit bien /new comme texte de message (Telegram envoie toutes les commandes de bot sous forme de messages dont le texte commence par /), donc tu n’as pas besoin d’envoyer la commande depuis n8n - tu dois juste la détecter et y réagir. Ajoute un nœud IF directement après ton déclencheur Telegram en vérifiant {{ $json.message.text === '/new' }}, puis dans la branche « true », réinitialise ta session. La façon de réinitialiser dépend de ce que « session » signifie dans ton workflow - si tu utilises un AI Agent avec un nœud de mémoire (Window Buffer Memory, etc.), change l’ID de session par une nouvelle valeur pour ce chat (par exemple, ajoute un timestamp : {{ $json.message.chat.id }}_{{ Date.now() }}), ce qui démarre effectivement un contexte vierge. Envoie une confirmation à l’utilisateur via un nœud Telegram, puis continue ton flux normal dans la branche « false ».
Oups, je viens de réaliser que j’ai oublié un petit détail dans mon message : le bot Telegram est une interface pour un Agent Hermes. Donc, quand j’envoie des messages au bot, l’information est censée aller à un Agent Hermes.
Après avoir travaillé dessus davantage hier, j’ai réalisé que le problème semble être dû au fait que j’utilise un token n8n pour envoyer un message au bot Telegram. Et comme le token n8n est le même que celui du bot Hermes, le bot ne répond pas parce que je pense qu’il croit qu’il parle à lui-même. Donc tout message qui arrive avec le token du bot est possiblement ignoré. Quand j’envoie le message via n8n et que je le transfère manuellement dans le même chat, l’agent réagit.
Je cherche maintenant une solution pour que n8n puisse parler au bot sans que le bot pense qu’il parle à lui-même.
Je ne suis pas sûr que cette explication ait du sens ou non.
Oh, et pour répondre à la question : /new est une commande Hermes qui indique à l’agent de commencer une nouvelle conversation, un peu comme démarrer un nouveau chat dans ChatGPT, Claude ou Gemini. Cela prévient notamment la dérive conversationnelle. Mais dans mon cas, chaque conversation lancée par n8n a besoin d’une page blanche, donc j’utilise /new pour éviter la « pollution » des informations existantes dans le chat.
Merci pour toutes les réponses que tu as fournies. J’ai besoin de tout assembler pour avoir une vue cohérente et tester pour voir ce qui fonctionne le mieux pour mes objectifs.