داده‌های بایننس به تلگرام با GPT-4o و n8n: راهنمای جامع

داده‌های بایننس به تلگرام با GPT-4o و n8n: راهنمای جامع

10 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 8614 · منبع: کاتالوگ Axeto

دسترسی به داده‌های بازار زنده بایننس با قالب‌بندی GPT-4o در تلگرام

این گردش کار به کاربران امکان می‌دهد تا داده‌های بازار زنده را از بایننس دریافت کرده و با استفاده از قابلیت‌های پیشرفته GPT-4o، آن‌ها را به صورت HTML قابل خواندن برای تلگرام قالب‌بندی کنند. این گردش کار API REST بایننس، مدل GPT-4o-mini اوپن‌ای‌آی و پیام‌رسانی ربات تلگرام را برای تجربه‌ای یکپارچه ادغام می‌کند.

ویژگی‌های کلیدی:

  • داده‌های زنده بایننس: داده‌های بازار زنده از جمله قیمت‌ها، آمار ۲۴ ساعته، دفتر سفارشات و معاملات اخیر را دریافت می‌کند.
  • قالب‌بندی مبتنی بر هوش مصنوعی: از GPT-4o-mini برای تبدیل داده‌های خام JSON به HTML کاربرپسند برای تلگرام استفاده می‌کند.
  • ادغام تلگرام: گزارش‌های بازار قالب‌بندی شده را مستقیماً از طریق یک ربات تلگرام به کاربران مجاز تحویل می‌دهد.
  • احراز هویت کاربر: اطمینان حاصل می‌کند که فقط کاربران مجاز تلگرام می‌توانند به داده‌های بازار دسترسی داشته باشند.
  • حافظه نشست: زمینه مکالمه را برای تعاملات چند نوبتی مدیریت می‌کند.
  • مدیریت طول پیام: پاسخ‌های طولانی را برای رعایت محدودیت کاراکتر پیام تلگرام تقسیم می‌کند.

این گردش کار و موارد دیگر را در Axeto.ai کاوش کنید: https://axeto.ai/n8n

---

تشریح گردش کار

این گردش کار به چندین بلوک منطقی تقسیم شده است که هر کدام مسئول بخشی خاص از فرآیند بازیابی و تحویل داده‌ها هستند.

۱. دریافت ورودی و احراز هویت

این بلوک اولیه پیام‌های ورودی تلگرام را مدیریت می‌کند، هویت فرستنده را تأیید می‌کند و اطمینان حاصل می‌کند که فقط کاربران مجاز می‌توانند ادامه دهند.

  • گره‌ها (Nodes):

* Telegram Trigger: پیام‌های جدید ارسال شده به ربات تلگرام را گوش می‌دهد.

* Code (احراز هویت کاربر): شناسه تلگرام فرستنده را با لیست مجاز مقایسه می‌کند.

* Sticky Note (دستور ورودی تلگرام): هدف گره Telegram Trigger را مستند می‌کند.

* Sticky Note (اعتبارسنجی دسترسی کاربر): منطق احراز هویت کاربر را مستند می‌کند.

  • جزئیات:

* Telegram Trigger: با جزئیات webhook و اعتبارنامه ربات برای دریافت پیام‌های ورودی پیکربندی شده است.

* User Authentication (Code Node): یک تابع جاوا اسکریپت بررسی می‌کند که آیا msg.payload.message.from.id با شناسه مجاز از پیش تعریف شده مطابقت دارد یا خیر. در غیر این صورت، کاربر را به عنوان غیرمجاز علامت‌گذاری می‌کند و از پردازش بیشتر جلوگیری می‌کند.

۲. تنظیم فراداده نشست

این بلوک اطلاعات لازم جلسه را برای مراحل بعدی، از جمله شناسه جلسه منحصر به فرد و پیام اصلی کاربر، آماده می‌کند.

  • گره‌ها (Nodes):

* Set (افزودن "SessionId"): یک sessionId با استفاده از شناسه چت تلگرام ایجاد می‌کند و متن پیام را ذخیره می‌کند.

* Sticky Note (ایجاد فراداده جلسه): ایجاد فراداده جلسه را توضیح می‌دهد.

  • جزئیات:

* Adds "SessionId" (Set Node): از عبارات ={{ $json.message.chat.id }} برای sessionId و ={{ $json.message.text }} برای محتوای پیام استفاده می‌کند و اطمینان حاصل می‌کند که زمینه حفظ می‌شود.

۳. دریافت داده‌های بازار بایننس

این بخش اصلی بازیابی داده‌ها است. از یک عامل هوش مصنوعی برای هماهنگ کردن چندین درخواست موازی به نقاط پایانی مختلف API بایننس برای جمع‌آوری داده‌های جامع بازار برای یک نماد معاملاتی مشخص استفاده می‌کند.

  • گره‌ها (Nodes):

* LangChain Agent (عامل هوش مصنوعی بایننس): به عنوان هماهنگ‌کننده مرکزی عمل می‌کند و ابزارهای مختلفی را برای دریافت داده‌ها فراخوانی می‌کند.

* HTTP Request Tool (قیمت (آخرین)): آخرین قیمت تیکر را دریافت می‌کند.

* HTTP Request Tool (آمار ۲۴ ساعته): آمار معاملات ۲۴ ساعته را بازیابی می‌کند.

* HTTP Request Tool (عمق دفتر سفارش): داده‌های دفتر سفارش را دریافت می‌کند.

* HTTP Request Tool (بهترین پیشنهاد/درخواست): بهترین قیمت‌های پیشنهاد و درخواست را دریافت می‌کند.

* HTTP Request Tool (Klines (کندل‌ها)): داده‌های کندل استیک را بازیابی می‌کند.

* HTTP Request Tool (میانگین قیمت): میانگین قیمت جاری را دریافت می‌کند.

* HTTP Request Tool (معاملات اخیر): آخرین معاملات انجام شده را دریافت می‌کند.

* LangChain Tool (ماشین حساب): برای انجام عملیات ریاضی بر روی داده‌های دریافت شده.

* LangChain Tool (فکر کردن): یک دستیار هوش مصنوعی برای دستکاری و آماده‌سازی داده‌ها.

* Sticky Notes (Sticky Note3 تا Sticky Note16): مستنداتی را برای هر نقطه پایانی API و ابزار ارائه می‌دهند.

  • جزئیات:

* Binance AI Agent (LangChain Agent): با یک اعلان سیستمی پیکربندی شده است تا صرفاً بر بازیابی و قالب‌بندی داده‌ها تمرکز کند و از هرگونه مشاوره مالی اجتناب کند. این عامل به طور هوشمندانه ابزارهای مناسب HTTP Request را بر اساس درخواست کاربر انتخاب و فراخوانی می‌کند.

* HTTP Request Tools: هر ابزار با نقطه پایانی API بایننس خاص (مانند /api/v3/ticker/price، /api/v3/ticker/24hr) و پارامترهایی مانند symbol و limit پیکربندی شده است.

* Calculator & Think Tools: این ابزارهای LangChain به عامل در پردازش و اصلاح داده‌های خام قبل از ارسال برای قالب‌بندی نهایی کمک می‌کنند.

۴. پردازش و قالب‌بندی هوش مصنوعی

این بلوک از مدل GPT-4o-mini اوپن‌ای‌آی برای تبدیل داده‌های خام و ساختاریافته دریافت شده از بایننس به فرمت HTML قابل خواندن برای انسان که مناسب تلگرام است، استفاده می‌کند.

  • گره‌ها (Nodes):

* LangChain OpenAI Chat Model: مدل هوش مصنوعی مسئول قالب‌بندی و استدلال.

* Sticky Note (مدل GPT برای استدلال): نقش مدل اوپن‌ای‌آی را مستند می‌کند.

  • جزئیات:

* OpenAI Chat Model: برای استفاده از gpt-4o-mini پیکربندی شده و به اعتبارنامه API اوپن‌ای‌آی شما متصل است. این مدل داده‌های JSON ترکیبی از بلوک دریافت داده بایننس را دریافت کرده و یک رشته HTML با قالب‌بندی مناسب را خروجی می‌دهد.

۵. تقسیم پیام

برای اطمینان از تحویل موفقیت‌آمیز پیام‌ها، این بلوک بررسی می‌کند که آیا محتوای تولید شده توسط هوش مصنوعی از حد ۴۰۰۰ کاراکتر تلگرام تجاوز می‌کند یا خیر و در صورت لزوم آن را به بخش‌های کوچک‌تر و قابل مدیریت تقسیم می‌کند.

  • گره‌ها (Nodes):

* Code (تقسیم پیام در صورت بیشتر بودن از ۴۰۰۰ کاراکتر): تابعی جاوا اسکریپت برای تقسیم متن طولانی.

* Sticky Note (مدیریت محدودیت‌های پیام تلگرام): منطق تقسیم پیام را توضیح می‌دهد.

  • جزئیات:

* Splits message is more than 4000 characters (Code Node): این گره بر روی پیام قالب‌بندی شده تکرار می‌شود و آن را به بخش‌هایی با حداکثر ۴۰۰۰ کاراکتر تقسیم می‌کند و از انطباق با محدودیت‌های API تلگرام اطمینان حاصل می‌کند.

۶. خروجی تلگرام

بلوک نهایی گزارش داده‌های بازار قالب‌بندی شده و بالقوه تقسیم شده را از طریق ربات تلگرام به کاربر احراز هویت شده ارسال می‌کند.

  • گره‌ها (Nodes):

* Telegram (ارسال پیام): پیام‌های آماده شده را به کاربر ارسال می‌کند.

* Sticky Note (ارسال گزارش نهایی به تلگرام): مرحله نهایی ارسال پیام را مستند می‌کند.

  • جزئیات:

* Telegram (Send Message): از شناسه چت به دست آمده از تریگر اولیه و اعتبارنامه ربات برای ارسال پیام(های) HTML قالب‌بندی شده به کاربر استفاده می‌کند. انتساب برای خروجی تمیزتر غیرفعال شده است.

---

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))یادداشت چسبان (Sticky Note)
Telegram TriggertelegramTriggerگوش دادن به پیام‌های جدید تلگرامAPI خارجی تلگرام (External Telegram API)Code (احراز هویت کاربر) (User Authentication)گوش دادن به پیام‌های ورودی تلگرام از کاربران. فرآیند کامل عامل را راه‌اندازی می‌کند.
Code (احراز هویت کاربر) (User Authentication)codeاعتبارسنجی شناسه کاربری تلگرام (Telegram user ID)Telegram TriggerSet (افزودن "SessionId") (Adds "SessionId")بررسی شناسه تلگرام ورودی در برابر لیست کاربران تأیید شده.
Set (افزودن "SessionId") (Adds "SessionId")setایجاد فراداده نشست (SessionId، پیام) (session metadata)Code (احراز هویت کاربر) (User Authentication)langchain.agent (عامل Binance AI) (Binance AI Agent)ایجاد یک SessionId با استفاده از chat.id تلگرام برای حافظه و مسیریابی.
langchain.agent (عامل Binance AI) (Binance AI Agent)@n8n/n8n-nodes-langchain.agentهماهنگ‌سازی دریافت داده‌های Binance و قالب‌بندیSet (افزودن "SessionId") (Adds "SessionId")code (تقسیم پیام...) (Splits message...)هماهنگ‌کننده اصلی که داده‌های بازار Binance را دریافت کرده و خروجی را با OpenAI قالب‌بندی می‌کند.
httpRequestTool (قیمت (آخرین)) (Price (Latest))httpRequestToolدریافت آخرین قیمت نماد (symbol)langchain.agent (عامل Binance AI) (Binance AI Agent)langchain.agent (عامل Binance AI) (Binance AI Agent)دریافت آخرین قیمت معامله برای نماد درخواستی.
httpRequestTool (آمار ۲۴ ساعته) (24h Stats)httpRequestToolدریافت آمار متحرک ۲۴ ساعتهlangchain.agent (عامل Binance AI) (Binance AI Agent)langchain.agent (عامل Binance AI) (Binance AI Agent)دریافت آمار تغییر قیمت و حجم ۲۴ ساعته.
httpRequestTool (عمق دفتر سفارش) (Order Book Depth)httpRequestToolدریافت سفارشات خرید/فروش (bids/asks) دفتر سفارشlangchain.agent (عامل Binance AI) (Binance AI Agent)langchain.agent (عامل Binance AI) (Binance AI Agent)بازیابی سفارشات خرید و فروش فعلی برای نماد.
httpRequestTool (بهترین خرید/فروش) (Best Bid/Ask)httpRequestToolدریافت بهترین قیمت‌ها/مقادیر خرید و فروش (bid and ask)langchain.agent (عامل Binance AI) (Binance AI Agent)langchain.agent (عامل Binance AI) (Binance AI Agent)دریافت بهترین قیمت‌های خرید و فروش فعلی.
httpRequestTool (Klines (کندل‌ها)) (Klines (Candles))httpRequestToolدریافت داده‌های شمعی (candlestick data)langchain.agent (عامل Binance AI) (Binance AI Agent)langchain.agent (عامل Binance AI) (Binance AI Agent)بازیابی داده‌های قیمت تاریخی در قالب شمعی (مثلاً فواصل ۱ ۵ دقیقه‌ای).
httpRequestTool (میانگین قیمت) (Average Price)httpRequestToolدریافت میانگین قیمت متحرک فعلی (average rolling price)langchain.agent (عامل Binance AI) (Binance AI Agent)langchain.agent (عامل Binance AI) (Binance AI Agent)ارائه میانگین قیمت در یک دوره اخیر.
httpRequestTool (معاملات اخیر) (Recent Trades)httpRequestToolدریافت معاملات اخیر برای نماد (symbol)langchain.agent (عامل Binance AI) (Binance AI Agent)langchain.agent (عامل Binance AI) (Binance AI Agent)فهرست کردن آخرین معاملات انجام شده برای نماد.
langchain.toolCalculator (ماشین حساب) (Calculator)@n8n/n8n-nodes-langchain.toolCalculatorانجام عملیات ریاضی روی داده‌ها (mathematical operations)langchain.agent (عامل Binance AI) (Binance AI Agent)langchain.agent (عامل Binance AI) (Binance AI Agent)فعال کردن محاسباتی مانند اسپرد قیمت یا تغییرات درصدی.
langchain.toolThink (فکر کردن) (Think)@n8n/n8n-nodes-langchain.toolThinkدستیار هوش مصنوعی برای تغییر شکل و استخراج داده‌ها (reshaping and extraction)langchain.agent (عامل Binance AI) (Binance AI Agent)langchain.agent (عامل Binance AI) (Binance AI Agent)کمک به آماده‌سازی داده‌ها برای قالب‌بندی و تحلیل نهایی.
code (تقسیم پیام بیش از 4000 کاراکتر است) (Splits message is more than 4000 characters)codeتقسیم متن طولانی به بخش‌هایی با حداکثر 4000 کاراکترlangchain.agent (عامل Binance AI) (Binance AI Agent)telegram.sendMessageمدیریت محدودیت طول پیام تلگرام با تقسیم پاسخ‌های طولانی به قطعات.
telegram.sendMessagetelegramارسال پیام(های) متنی به چت تلگرام (sends the text message(s))code (تقسیم پیام...) (Splits message...)API خارجی تلگرام (External Telegram API)تحویل گزارش بازار نهایی قالب‌بندی شده به کاربر احراز هویت شده از طریق ربات تلگرام.
langchain.lmChatOpenAi@n8n/n8n-nodes-langchain.lmChatOpenAiمدل چت OpenAI برای قالب‌بندی و استدلال (formatting and reasoning)(به صورت داخلی توسط LangChain Agent استفاده می‌شود) (Used internally by LangChain Agent)(به صورت داخلی توسط LangChain Agent استفاده می‌شود) (Used internally by LangChain Agent)قالب‌بندی داده‌های بازار به HTML تمیز، تفسیر مقادیر و اعمال قوانین استدلال با استفاده از GPT-4o-mini.
memoryBufferWindow@n8n/n8n-nodes-langchain.memoryBufferWindowمدیریت حافظه نشست مکالمه (conversation session memory)(به صورت داخلی توسط LangChain Agent استفاده می‌شود) (Used internally by LangChain Agent)(به صورت داخلی توسط LangChain Agent استفاده می‌شود) (Used internally by LangChain Agent)حفظ زمینه برای مکالمات چند نوبتی.

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار n8n چه کاری انجام می‌دهد؟

این گردش کار داده‌های زنده بازار را از بایننس دریافت کرده، با استفاده از GPT-4o آن‌ها را پردازش و قالب‌بندی می‌کند و سپس نتایج را از طریق یک ربات تلگرام به کاربران ارسال می‌نماید.

چه ابزارهایی در این گردش کار استفاده شده‌اند؟

این گردش کار از گره‌های n8n مانند Telegram Trigger، Code، Set، HTTP Request و همچنین مدل‌های هوش مصنوعی LangChain مانند GPT-4o و ابزارهای مرتبط با آن استفاده می‌کند.

چگونه می‌توانم دسترسی به این گردش کار را محدود کنم؟

گردش کار شامل یک بخش احراز هویت کاربر است که با بررسی شناسه تلگرام فرستنده، اطمینان حاصل می‌کند که فقط کاربران مجاز به داده‌ها دسترسی داشته باشند.

آیا این گردش کار قادر به مدیریت پاسخ‌های طولانی است؟

بله، این گردش کار دارای قابلیت تقسیم پاسخ‌های طولانی برای رعایت محدودیت کاراکتر پیام‌های تلگرام است.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.