Files
trading_bot_v4/telegram-manual-trade-FINAL.json
mindesbunister 3e2cf2eec2 feat: add Telegram bot for manual trade commands
- Added telegram_command_bot.py with slash commands (/buySOL, /sellBTC, etc)
- Docker compose setup with DNS configuration
- Sends trades as plain text to n8n webhook (same format as TradingView)
- Improved Telegram success message formatting
- Only responds to authorized chat ID (579304651)
- Commands: /buySOL, /sellSOL, /buyBTC, /sellBTC, /buyETH, /sellETH
2025-10-27 00:23:09 +01:00

156 lines
4.0 KiB
JSON

{
"name": "Manual Trade Command - ADD TO MONEY MACHINE",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "manual-trade",
"responseMode": "responseNode",
"options": {}
},
"id": "webhook-manual-trade",
"name": "Manual Trade Webhook",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1.1,
"position": [
-840,
280
],
"webhookId": "manual-trade-webhook"
},
{
"parameters": {
"fields": {
"values": [
{
"name": "command",
"stringValue": "={{ $json.body.text || $json.body.message || $json.body }}"
},
{
"name": "symbol",
"stringValue": "={{ ($json.body.text || $json.body.message || $json.body).toString().match(/\\b(SOL|BTC|ETH)\\b/i) ? ($json.body.text || $json.body.message || $json.body).toString().match(/\\b(SOL|BTC|ETH)\\b/i)[0].toUpperCase() + '-PERP' : 'SOL-PERP' }}"
},
{
"name": "direction",
"stringValue": "={{ ($json.body.text || $json.body.message || $json.body).toString().match(/\\b(sell|short)\\b/i) ? 'short' : 'long' }}"
},
{
"name": "timeframe",
"stringValue": "5"
},
{
"name": "source",
"stringValue": "manual"
}
]
},
"options": {}
},
"id": "parse-manual-command",
"name": "Parse Command",
"type": "n8n-nodes-base.set",
"typeVersion": 3.2,
"position": [
-660,
280
]
},
{
"parameters": {
"chatId": "579304651",
"text": "🤖 Manual Trade Command\n\n📊 {{ $json.symbol }}\n{{ $json.direction === 'long' ? '📈' : '📉' }} {{ $json.direction.toUpperCase() }}\n⏰ {{ $now.toFormat('HH:mm:ss') }}\n\n✅ Sending to bot...",
"additionalFields": {
"appendAttribution": false
}
},
"id": "telegram-confirm",
"name": "Send Telegram Confirmation",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.1,
"position": [
-480,
280
],
"credentials": {
"telegramApi": {
"id": "Csk5cg4HtaSqP5jJ",
"name": "Telegram account"
}
}
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={{ { \"status\": \"received\", \"symbol\": $json.symbol, \"direction\": $json.direction } }}"
},
"id": "webhook-response",
"name": "Webhook Response",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1,
"position": [
-480,
380
]
},
{
"parameters": {
"mode": "raw",
"jsonOutput": "={{ { \"symbol\": $json.symbol, \"direction\": $json.direction, \"timeframe\": $json.timeframe } }}"
},
"id": "output-to-check-risk",
"name": "➡️ Connect to Check Risk Node",
"type": "n8n-nodes-base.set",
"typeVersion": 3.3,
"position": [
-300,
280
],
"notes": "Connect this node to your Money Machine's Check Risk node (same place as TradingView webhook)"
}
],
"connections": {
"Manual Trade Webhook": {
"main": [
[
{
"node": "Parse Command",
"type": "main",
"index": 0
}
]
]
},
"Parse Command": {
"main": [
[
{
"node": "Send Telegram Confirmation",
"type": "main",
"index": 0
},
{
"node": "Webhook Response",
"type": "main",
"index": 0
}
]
]
},
"Send Telegram Confirmation": {
"main": [
[
{
"node": "➡️ Connect to Check Risk Node",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
}
}