Système d'alerte du marché de cryptomonnaies avec intégration Binance et Telegram
Ceci est unOtherworkflow d'automatisation du domainecontenant 7 nœuds.Utilise principalement des nœuds comme Code, Function, Telegram, Aggregate, HttpRequest. Système d'alertes du marché de la cryptomonnaie intégrant Binance et Telegram
- •Token Bot Telegram
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
Nœuds utilisés (7)
Catégorie
{
"meta": {
"instanceId": "dbd43d88d26a9e30d8aadc002c9e77f1400c683dd34efe3778d43d27250dde50"
},
"nodes": [
{
"id": "f305e08e-d4b4-4ec6-be74-5edb7a3711e5",
"name": "Déclencheur Planifié",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
520,
1279
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "abac20ef-6319-40e3-8d30-806d7499a427",
"name": "Envoyer un Message Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
1360,
1279
],
"parameters": {
"text": "={{ $json.data.replaceAll(/(Last Price: \\S+)$/gm,\"$1\\n\").slice(0,1000) }}",
"chatId": "-1002138086614",
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "d23c3277-62ca-4e1f-ad5d-48c07e0d6b94",
"name": "Agrégation",
"type": "n8n-nodes-base.aggregate",
"notes": "Combine all items",
"position": [
1020,
1279
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "ba174e7f-4377-46dc-aca8-30adf81e5d61",
"name": "Variation de Prix 24h Binance",
"type": "n8n-nodes-base.httpRequest",
"notes": "Get data of changed price coins in last 24h",
"position": [
680,
1279
],
"parameters": {
"url": "https://api.binance.com/api/v1/ticker/24hr",
"options": {}
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "575563d5-3fb5-40f3-8017-d015cc822d5f",
"name": "Filtrer par Taux de Changement de 10%",
"type": "n8n-nodes-base.function",
"notes": "Filter by 10% Up & Down",
"position": [
860,
1279
],
"parameters": {
"functionCode": "// Iterate over all coins and check for 10% price change\nconst significantChanges = [];\nfor (const coin of items[0].json) {\n const priceChangePercent = parseFloat(coin.priceChangePercent);\n if (Math.abs(priceChangePercent) >= 15) {\n significantChanges.push({ \n symbol: coin.symbol, \n priceChangePercent, \n lastPrice: coin.lastPrice \n });\n }\n}\n\n// Sort the items by percent rate from high to low\nsignificantChanges.sort((a, b) => b.priceChangePercent - a.priceChangePercent);\n\n// Format the sorted data for output\nconst sortedOutput = significantChanges.map(change => ({\n json: { message: `\\`\\`\\`${change.symbol} Price changed by ${change.priceChangePercent}% \\n Last Price: ${change.lastPrice}\\`\\`\\`` }\n}));\n\nreturn sortedOutput;\n"
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "dcfeae2e-bcdd-472d-98e4-8c1772ccdf1b",
"name": "Diviser par 1K caractères",
"type": "n8n-nodes-base.code",
"notes": "Split them for telegram message limit",
"position": [
1180,
1279
],
"parameters": {
"jsCode": "// Function to split the data into chunks of approximately 1000 characters\nfunction splitDataIntoChunks(data) {\n const chunks = [];\n let currentChunk = \"\";\n\n data.forEach(item => {\n // Ensure that each item has a 'message' property\n if (item && item.message) {\n const message = item.message + \"\\n\"; // Adding a newline for separation\n // Check if adding this message to the current chunk would exceed the 1000 characters limit\n if (currentChunk.length + message.length > 1000) {\n // If so, push the current chunk to the chunks array and start a new chunk\n chunks.push({ json: { data: currentChunk } });\n currentChunk = message;\n } else {\n // Otherwise, add the message to the current chunk\n currentChunk += message;\n }\n }\n });\n\n // Add the last chunk if it's not empty\n if (currentChunk) {\n chunks.push({ json: { data: currentChunk } });\n }\n\n return chunks;\n}\n\n// The input data is passed from the previous node\nconst inputData = items[0].json.data; // Accessing the 'data' property\n\n// Process the data\nconst result = splitDataIntoChunks(inputData);\n\n// Output the result\nreturn result;\n"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "40e25c71-641a-4b69-afec-b8a93d5d6448",
"name": "Note Adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
483.54457851446114,
1040
],
"parameters": {
"color": 5,
"width": 1040.928205084989,
"height": 183.94838465674636,
"content": "### Workflow Setup Steps:\n1. Ensure the **_Schedule Trigger_** is active to desired cron time (Default 5 minutes).\n2. [_Optional_] Configure the **_Binance 24h Price Change_** node with your API details (Default one is Free Public API Call - Free).\n3. Set up your **Telegram bot** token in the **Telegram node credentials**.\n4. Update the **_Chat ID_** in the **_Send Telegram Message_** node.\n5. Test the workflow to ensure everything is set up correctly.\n* **Notes**: Detailed telegram bot setup instructions are available in the [workflow's n8n page](https://n8n.io/workflows/2043-crypto-market-alert-system-with-binance-and-telegram-integration)."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"d23c3277-62ca-4e1f-ad5d-48c07e0d6b94": {
"main": [
[
{
"node": "dcfeae2e-bcdd-472d-98e4-8c1772ccdf1b",
"type": "main",
"index": 0
}
]
]
},
"f305e08e-d4b4-4ec6-be74-5edb7a3711e5": {
"main": [
[
{
"node": "ba174e7f-4377-46dc-aca8-30adf81e5d61",
"type": "main",
"index": 0
}
]
]
},
"dcfeae2e-bcdd-472d-98e4-8c1772ccdf1b": {
"main": [
[
{
"node": "abac20ef-6319-40e3-8d30-806d7499a427",
"type": "main",
"index": 0
}
]
]
},
"ba174e7f-4377-46dc-aca8-30adf81e5d61": {
"main": [
[
{
"node": "575563d5-3fb5-40f3-8017-d015cc822d5f",
"type": "main",
"index": 0
}
]
]
},
"575563d5-3fb5-40f3-8017-d015cc822d5f": {
"main": [
[
{
"node": "d23c3277-62ca-4e1f-ad5d-48c07e0d6b94",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Autres
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Nskha
@nskhaWelcome to Nskha! We're all about making real changes in the no-code tech field, just like with N8N 😉. Check out our amazing collection of free public templates and join us in building a collaborative database of no-code idea projects. Let's revolutionize the way we create without code!
Partager ce workflow