Workflow n8n

Automatisation Telegram avec n8n : notifications de téléchargements

Ce workflow n8n a pour objectif d'automatiser l'envoi de notifications sur Telegram concernant le statut des téléchargements de torrents. Dans un contexte où la gestion des téléchargements peut être chronophage, ce système permet aux utilisateurs de recevoir des alertes en temps réel sur l'état de leurs requêtes. Par exemple, si un torrent n'est pas trouvé, une notification est immédiatement envoyée, évitant ainsi des recherches infructueuses et des pertes de temps. Le workflow commence par un déclencheur Webhook, qui reçoit des requêtes HTTP contenant des informations sur le torrent à rechercher. Ensuite, un nœud de fonction traite ces données pour effectuer la recherche du torrent. Si le torrent est trouvé, un appel HTTP est effectué pour démarrer le téléchargement. En cas d'échec, une condition est vérifiée pour envoyer un message d'erreur via Telegram. Ce processus utilise les nœuds Telegram pour envoyer des messages au chat spécifié, assurant ainsi une communication fluide et instantanée. Les bénéfices de cette automatisation n8n sont multiples : réduction des temps d'attente, amélioration de la réactivité et optimisation de la gestion des téléchargements, ce qui permet aux utilisateurs de se concentrer sur d'autres tâches importantes.

Tags clés :automatisationTelegramtéléchargementn8nnotifications
Catégorie: Webhook · Tags: automatisation, Telegram, téléchargement, n8n, notifications0

Workflow n8n Telegram, téléchargement, notifications : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Telegram, téléchargement, notifications : détail des nœuds

  • Webhook

    Ce noeud reçoit des requêtes via un webhook selon le chemin et la méthode HTTP spécifiés.

  • SearchTorrent

    Ce noeud exécute un code JavaScript pour traiter des données ou effectuer des calculs.

  • Start download

    Ce noeud envoie une requête HTTP pour démarrer le téléchargement à l'URL spécifiée.

  • IF

    Ce noeud évalue des conditions pour déterminer le chemin à suivre dans le workflow.

  • Torrent not found

    Ce noeud envoie un message Telegram pour informer que le torrent n'a pas été trouvé.

  • Telegram1

    Ce noeud envoie un message Telegram avec le texte et l'identifiant de chat spécifiés.

  • IF2

    Ce noeud évalue d'autres conditions pour décider du flux du workflow.

  • Start download new token

    Ce noeud envoie une requête HTTP pour démarrer le téléchargement avec un nouveau token.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "nodes": [
    {
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        310,
        300
      ],
      "webhookId": "6be952e8-e30f-4dd7-90b3-bc202ae9f174",
      "parameters": {
        "path": "6be952e8-e30f-4dd7-90b3-bc202ae9f174",
        "options": {
          "rawBody": true
        },
        "httpMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "name": "SearchTorrent",
      "type": "n8n-nodes-base.functionItem",
      "position": [
        530,
        300
      ],
      "parameters": {
        "functionCode": "const TorrentSearchApi = require('torrent-search-api');\n\nTorrentSearchApi.enableProvider('KickassTorrents');\nTorrentSearchApi.enableProvider('Rarbg');\n\nitem.title = $node[\"Webhook\"].json[\"body\"].title.trim();\n\nconst torrents = await TorrentSearchApi.search(item.title, 'All', 5);\n\nitem.torrents = torrents;\nitem.found = true;\n\nif(!torrents.length)\n  item.found = false;\n  \nconsole.log('Done!');\n\nreturn item;"
      },
      "typeVersion": 1
    },
    {
      "name": "Start download",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        960,
        280
      ],
      "parameters": {
        "url": "http://localhost:9091/transmission/rpc",
        "options": {},
        "requestMethod": "POST",
        "authentication": "basicAuth",
        "jsonParameters": true,
        "bodyParametersJson": "={\"method\":\"torrent-add\",\"arguments\":{\"paused\":false,\"download-dir\":\"/media/FILM/TORRENT\",\"filename\":\"{{$node[\"SearchTorrent\"].json[\"torrents\"][0][\"magnet\"]}}\"}}",
        "headerParametersJson": "{\"X-Transmission-Session-Id\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}"
      },
      "credentials": {
        "httpBasicAuth": "Transmission-basic-auth"
      },
      "typeVersion": 1,
      "continueOnFail": true
    },
    {
      "name": "IF",
      "type": "n8n-nodes-base.if",
      "position": [
        740,
        300
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{$json[\"found\"]}}",
              "value2": true
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Torrent not found",
      "type": "n8n-nodes-base.telegram",
      "position": [
        960,
        470
      ],
      "parameters": {
        "text": "=Film {{$node[\"Webhook\"].json[\"body\"].title}} non trovato.",
        "chatId": "00000000",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": "your_bot_credential"
      },
      "typeVersion": 1
    },
    {
      "name": "Telegram1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1500,
        490
      ],
      "parameters": {
        "text": "=Scarico {{$node[\"Webhook\"].json[\"body\"].title}}!\nTitolo: {{$node[\"SearchTorrent\"].json[\"torrents\"][0][\"title\"]}}",
        "chatId": "0000000",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": "your_bot_credential"
      },
      "typeVersion": 1
    },
    {
      "name": "IF2",
      "type": "n8n-nodes-base.if",
      "position": [
        1150,
        280
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "=\"{{$json[\"error\"][\"statusCode\"]}}\"",
              "value2": "=\"409\""
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Start download new token",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1340,
        260
      ],
      "parameters": {
        "url": "http://localhost:9091/transmission/rpc",
        "options": {},
        "requestMethod": "POST",
        "authentication": "basicAuth",
        "jsonParameters": true,
        "bodyParametersJson": "={\"method\":\"torrent-add\",\"arguments\":{\"paused\":false,\"download-dir\":\"/media/FILM/TORRENT\",\"filename\":\"{{$node[\"SearchTorrent\"].json[\"torrents\"][0][\"magnet\"]}}\"}}",
        "headerParametersJson": "={\"X-Transmission-Session-Id\":\"{{$node[\"Start download\"].json[\"error\"][\"response\"][\"headers\"][\"x-transmission-session-id\"]}}\"}"
      },
      "credentials": {
        "httpBasicAuth": "Transmission-basic-auth"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "IF": {
      "main": [
        [
          {
            "node": "Start download",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Torrent not found",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF2": {
      "main": [
        [
          {
            "node": "Start download new token",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Telegram1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "SearchTorrent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SearchTorrent": {
      "main": [
        [
          {
            "node": "IF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start download": {
      "main": [
        [
          {
            "node": "IF2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start download new token": {
      "main": [
        [
          {
            "node": "Telegram1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Telegram, téléchargement, notifications : pour qui est ce workflow ?

Ce workflow s'adresse aux utilisateurs de Telegram qui souhaitent automatiser la gestion de leurs téléchargements de torrents. Il est particulièrement utile pour les équipes techniques et les développeurs qui cherchent à optimiser leurs processus de notification. Un niveau technique intermédiaire est recommandé pour la mise en place et la personnalisation du workflow.

Workflow n8n Telegram, téléchargement, notifications : problème résolu

Ce workflow résout le problème de la gestion manuelle des téléchargements de torrents, qui peut entraîner des pertes de temps et des frustrations. En automatisant le processus de notification, les utilisateurs sont informés instantanément en cas de problème, ce qui leur permet de réagir rapidement. Cela réduit également le risque de manquer des téléchargements importants et améliore l'efficacité globale des opérations.

Workflow n8n Telegram, téléchargement, notifications : étapes du workflow

Étape 1 : Le workflow est déclenché par un Webhook qui reçoit des requêtes HTTP.

  • Étape 1 : Les données reçues sont traitées par un nœud de fonction qui effectue une recherche du torrent.
  • Étape 2 : Si le torrent est trouvé, un appel HTTP est effectué pour démarrer le téléchargement.
  • Étape 3 : Si le torrent n'est pas trouvé, une condition est vérifiée et un message d'erreur est envoyé via Telegram.
  • Étape 4 : Un second nœud HTTP peut être utilisé pour gérer des tokens d'authentification si nécessaire.

Workflow n8n Telegram, téléchargement, notifications : guide de personnalisation

Pour personnaliser ce workflow, modifiez l'URL du Webhook pour l'adapter à votre application. Vous pouvez également ajuster le texte des messages envoyés via Telegram en fonction de vos besoins. Si vous utilisez un service d'authentification pour le téléchargement, assurez-vous de configurer correctement les paramètres d'authentification dans le nœud HTTP. Enfin, vous pouvez intégrer d'autres services ou API selon vos besoins spécifiques pour enrichir le workflow.