تجمیع محتوای توییتر/X در تلگرام با هوش مصنوعی جمینای

تجمیع محتوای توییتر/X در تلگرام با هوش مصنوعی جمینای

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

دانلود workflow

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

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

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

تجمیع محتوای توییتر/X در کانال تلگرام با هوش مصنوعی گوگل جمینای

این گردش کار، تجمیع محتوای شبکه‌های اجتماعی از توییتر/X را خودکار می‌کند، آن را با استفاده از هوش مصنوعی گوگل جمینای (Google Gemini AI) پالایش کرده و پیام‌های منتخب را به یک کانال تلگرام ارسال می‌کند. این گردش کار برای اجرا بر اساس یک برنامه زمان‌بندی شده طراحی شده است، که از APIهای خارجی و هوش مصنوعی برای جمع‌آوری و پردازش محتوا بهره می‌برد و اطمینان حاصل می‌کند که فقط پست‌های ارزشمند و مختصر به مشترکین ارائه می‌شوند.

این گردش کار و بسیاری موارد دیگر را در کاتالوگ Axeto کاوش کنید: Axeto.ai/n8n

نمای کلی گردش کار

این گردش کار به بخش‌های منطقی زیر تقسیم می‌شود:

1. راه‌اندازی تریگر و اسکرپینگ: به طور خودکار وظیفه اسکرپینگ را از طریق API مرورگر (BrowserAct API) برای دریافت آخرین محتوای توییتر/X راه‌اندازی می‌کند.

2. نظارت بر وضعیت اسکرپینگ: وضعیت وظیفه اسکرپینگ را به طور مکرر بررسی می‌کند تا زمانی که به پایان برسد.

3. پردازش هوش مصنوعی: از هوش مصنوعی گوگل جمینای (Google Gemini AI) برای پالایش محتوای خام اسکرپ شده با خلاصه‌سازی و حذف موارد تکراری استفاده می‌کند.

4. قالب‌بندی و ارسال پیام: بر اساس در دسترس بودن محتوا تصمیم می‌گیرد که آیا عکس ارسال کند یا پیام متنی و پیام را به یک کانال تلگرام ارسال می‌کند.

5. گره‌های ابزار و کنترل: شامل گره‌های انتظار (wait nodes)، بررسی‌های شرطی (conditional checks) و تبدیل کد برای قالب‌بندی داده‌ها و کنترل گردش کار است.

---

تشریح جزئیات گردش کار

۱. آغاز تریگر و خراش‌دهی (Scraping)

این بخش با فراخوانی API مرورگر (BrowserAct API) برای اجرای یک گردش کار از پیش تعریف شده جهت استخراج محتوای توییتر/X، وظیفه خراش‌دهی را آغاز می‌کند.

  • تریگر زمان‌بندی (Schedule Trigger)

* نوع: scheduleTrigger

* نقش: به طور خودکار کل گردش کار را هر ۱۲ ساعت یک بار فعال می‌کند.

* پیکربندی: بازه زمانی روی ۱۲ ساعت تنظیم شده است.

* ورودی‌ها: ندارد.

* خروجی‌ها: به نود HTTP Request متصل است.

* موارد استثنا: غیرفعال شدن گردش کار، خراش‌دهی را متوقف می‌کند. ملاحظات مربوط به منطقه زمانی برای زمان‌بندی.

  • درخواست HTTP (HTTP Request)

* نوع: httpRequest

* نقش: یک درخواست POST به API مرورگر (BrowserAct API) برای شروع کار خراش‌دهی ارسال می‌کند.

* پیکربندی:

* URL: https://api.browseract.com/v2/workflow/run-task

* متد: POST

* بدنه (Body): JSON حاوی شناسه گردش کار مرورگر (BrowserAct workflow ID) (مثال: {"workflow_id": "52606771064261730"}).

* احراز هویت: توکن حامل HTTP (HTTP Bearer token) از طریق اعتبارنامه‌های ذخیره شده مرورگر (BrowserAct credentials).

* تلاش مجدد در صورت شکست فعال است.

* ورودی‌ها: توسط Schedule Trigger فعال می‌شود.

* خروجی‌ها: برای اعتبارسنجی خطا و پاسخ به نود If متصل است.

* موارد استثنا: شکست احراز هویت API، شناسه گردش کار نامعتبر، قطعی API، مشکلات شبکه.

۲. نظارت بر وضعیت خراش‌دهی

این بخش با نظرسنجی مکرر API مرورگر (BrowserAct API)، وضعیت کار خراش‌دهی را رصد می‌کند. از گره‌های انتظار (Wait nodes) برای تلاش‌های مجدد کنترل‌شده تا اتمام کار استفاده می‌کند.

  • اگر (If)

* نوع: if

* نقش: بررسی می‌کند که آیا پاسخ اولیه کار خراش‌دهی معتبر است (بدون خطا و دارای شناسه کار معتبر).

* شرایط:

* $json.error وجود ندارد.

* $json.id برابر "null" نیست.

* ورودی‌ها: از HTTP Request.

* خروجی‌ها:

* True: برای بررسی وضعیت کار به HTTP Request1 ادامه می‌دهد.

* False: به نود Wait1 می‌رود (تأخیر قبل از تلاش مجدد).

* موارد استثنا: API خطا یا داده نامعتبر برمی‌گرداند؛ شناسه کار گم شده یا null است.

  • درخواست HTTP ۱ (HTTP Request1)

* نوع: httpRequest

* نقش: با استفاده از شناسه کار (task ID) از گره قبلی، API مرورگر (BrowserAct API) را برای دریافت وضعیت کار خراش‌دهی نظرسنجی می‌کند.

* پیکربندی:

* URL: https://api.browseract.com/v2/workflow/get-task

* متد: GET

* پارامتر کوئری (Query Parameter): task_id به صورت پویا از خروجی گره قبلی (={{ $json.id }}) تنظیم می‌شود.

* احراز هویت: توکن حامل HTTP مرورگر (BrowserAct HTTP Bearer token).

* ورودی‌ها: از گره If (زمانی که کار خراش‌دهی با موفقیت آغاز شده است).

* خروجی‌ها: برای بررسی وضعیت به گره If1 متصل است.

* موارد استثنا: خطاهای API، شناسه کار نامعتبر یا منقضی شده، خطاهای شبکه.

  • اگر ۱ (If1)

* نوع: if

* نقش: بررسی می‌کند که آیا کار خراش‌دهی به پایان رسیده است.

* شرایط:

* خطایی در JSON وجود ندارد.

* status برابر "finished" است.

* ورودی‌ها: از HTTP Request1.

* خروجی‌ها:

* True: به بخش پردازش هوش مصنوعی می‌رود.

* False: به گره Wait می‌رود (مکث قبل از تلاش مجدد).

* موارد استثنا: کار در وضعیت‌های دیگر گیر کرده است، API مقادیر وضعیت غیرمنتظره‌ای برمی‌گرداند.

  • انتظار (Wait)

* نوع: wait

* نقش: گردش کار را به مدت ۱ دقیقه متوقف می‌کند قبل از اینکه وضعیت را دوباره بررسی کند.

* ورودی‌ها: از If1 (زمانی که کار تمام نشده است).

* خروجی‌ها: به HTTP Request1 بازمی‌گردد (حلقه).

* موارد استثنا: زمان‌های انتظار طولانی ممکن است مدت زمان اجرای گردش کار و مصرف منابع را افزایش دهد.

  • انتظار ۱ (Wait1)

* نوع: wait

* نقش: در صورت شکست درخواست HTTP اولیه برای اجرای کار یا بازگرداندن پاسخ نامعتبر، یک انتظار اولیه ۲۰ ثانیه‌ای را فراهم می‌کند.

* ورودی‌ها: از گره If (زمانی که شروع کار اولیه شکست خورده است).

* خروجی‌ها: به HTTP Request بازمی‌گردد (برای تلاش مجدد جهت شروع کار).

* موارد استثنا: شکست‌های مداوم ممکن است منجر به یک حلقه بی‌نهایت شود مگر اینکه گردش کار به صورت دستی متوقف شود.

۳. پردازش هوش مصنوعی

پس از اتمام کار خراش‌دهی، این بخش محتوای خام استخراج شده را به عامل هوش مصنوعی گوگل جمینای (Google Gemini AI) ارسال می‌کند تا با خلاصه‌سازی و حذف پست‌های تکراری، آن را اصلاح کند. سپس خروجی پردازش شده به قالبی مناسب برای ارسال تبدیل می‌شود.

  • مدل چت گوگل جمینای (Google Gemini Chat Model)

* نوع: @n8n/n8n-nodes-langchain.lmChatGoogleGemini

* نقش: استنتاج مدل زبان را از طریق API گوگل جمینای (Google Gemini API) اجرا می‌کند.

* پیکربندی: از گزینه‌های پیش‌فرض مدل استفاده می‌کند؛ اعتبارنامه به حساب API گوگل جمینای شما پیوند داده شده است.

* ورودی‌ها: از گره AI Agent (به عنوان پشتیبان مدل زبان).

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

* موارد استثنا: محدودیت‌های کلید API، خطاهای مدل، مهلت‌های پاسخ.

  • تجزیه‌کننده خروجی ساختاریافته (Structured Output Parser)

* نوع: @n8n/n8n-nodes-langchain.outputParserStructured

* نقش: پاسخ ساختاریافته JSON هوش مصنوعی را مطابق با مثال طرحواره (schema) ارائه شده تجزیه می‌کند.

* پیکربندی: انتظار یک آرایه JSON از پست‌های اصلاح شده با فیلدهای زیر را دارد: Title, PublishedBy, Summary, Url, Pic.

* ورودی‌ها: از گره AI Agent (خروجی هوش مصنوعی).

* خروجی‌ها: به گره AI Agent می‌رود (داده تجزیه شده).

* موارد استثنا: شکست تجزیه در صورتی که خروجی هوش مصنوعی از طرحواره منحرف شود، JSON بدشکل.

  • عامل هوش مصنوعی (AI Agent)

* نوع: @n8n/n8n-nodes-langchain.agent

* نقش: اعلان (prompt) را کنترل کرده و پردازش هوش مصنوعی را هماهنگ می‌کند.

* پیکربندی:

* اعلان (Prompt): لیست ورودی نقشه‌ها (maps) را اصلاح می‌کند، خلاصه‌ها را در صورت نیاز خلاصه می‌کند، موارد تکراری را حذف کرده و یک لیست JSON اصلاح شده را خروجی می‌دهد.

* حداکثر تلاش (Max Tries): ۲ بار با تأخیر ۱.۵ ثانیه‌ای بین تلاش‌ها.

* منتظر می‌ماند تا تجزیه‌کننده خروجی (output parser) پاسخ هوش مصنوعی را پردازش کند.

* ورودی‌ها: از گره If1 (زمانی که خراش‌دهی تمام شده است).

* خروجی‌ها: به گره Code in JavaScript می‌رود.

* موارد استثنا: خطاهای هوش مصنوعی، اعلان (prompt) بدشکل، محدودیت نرخ API.

  • کد جاوا اسکریپت (Code in JavaScript)

* نوع: code

* نقش: آرایه خروجی اصلاح شده را به موارد جداگانه برای پردازش پایین‌دستی تبدیل می‌کند.

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

* ورودی‌ها: از AI Agent.

* خروجی‌ها: به گره If2 می‌رود (تصمیم‌گیری برای ارسال محتوا).

* موارد استثنا: ویژگی refined_output ورودی گم شده یا بدشکل، خطاهای زمان اجرا.

۴. قالب‌بندی و ارسال پیام

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

  • اگر ۲ (If2)

* نوع: if

* نقش: بررسی می‌کند که آیا پست دارای URL عکس معتبر است یا فیلد Pic روی "no picture" تنظیم شده است.

* شرط: فیلد Pic برابر با "no picture" است (برابری رشته‌ای).

* ورودی‌ها: از Code in JavaScript (هر مورد پست اصلاح شده).

* خروجی‌ها:

* True: به Send a text message می‌رود (بدون عکس).

* False: به Send a photo message می‌رود (با عکس).

* موارد استثنا: ویژگی Pic گم شده، URLهای نامعتبر، حساسیت به بزرگی و کوچکی حروف در "no picture".

  • ارسال پیام متنی (Send a text message)

* نوع: telegram (sendMessage)

* نقش: یک پیام فقط متنی به کانال تلگرام ارسال می‌کند.

* پیکربندی:

* شناسه چت (Chat ID): نام کاربری کانال از پیش تعیین شده (مثال: @Test).

* متن (Text): فیلدهای Title, Summary, PublishedBy, و Url را در بدنه پیام قالب‌بندی شده ترکیب می‌کند.

* ورودی‌ها: از If2 (زمانی که عکسی وجود ندارد).

* خروجی‌ها: پایان گردش کار.

* موارد استثنا: خطاهای API تلگرام، شناسه چت نامعتبر، محدودیت طول پیام.

  • ارسال پیام عکس (Send a photo message)

* نوع: telegram (sendPhoto)

* نقش: یک پیام عکس با زیرنویس به کانال تلگرام ارسال می‌کند.

* پیکربندی:

* شناسه چت (Chat ID): مشابه گره پیام متنی.

* URL عکس (Photo URL): از فیلد Pic.

* زیرنویس (Caption): فیلدهای Title, Summary, PublishedBy, و Url را در زیرنویس قالب‌بندی شده ترکیب می‌کند.

* ورودی‌ها: از If2 (زمانی که عکسی وجود دارد).

* خروجی‌ها: پایان گردش کار.

* موارد استثنا: URLهای عکس نامعتبر یا غیرقابل دسترس، خطاهای API تلگرام، محدودیت‌های اندازه پیام.

۵. گره‌های ابزار و کنترل (یادداشت‌های چسبان - Sticky Notes)

یادداشت‌های چسبان (Sticky Notes) مستندات، دستورالعمل‌ها و سازماندهی بصری را برای گردش کار در n8n فراهم می‌کنند. آن‌ها شامل دستورالعمل‌های راه‌اندازی، توضیحات نقش گره‌ها و پیوندهایی برای کمک و منابع هستند.

  • گره‌های یادداشت چسبان (Sticky Note Nodes)

* نوع: stickyNote

* نقش: در سراسر گردش کار برای راهنمایی و برچسب‌گذاری پراکنده شده‌اند.

* محتوا:

* مقدمه و هدف گردش کار.

* دستورالعمل‌های راه‌اندازی اعتبارنامه‌ها (BrowserAct, Google Gemini, Telegram).

* توضیح مراحل خراش‌دهی، انتظار، پردازش هوش مصنوعی و ارسال تلگرام.

* پیوند به ویدیوها، وبلاگ‌ها و دیسکورد برای پشتیبانی.

* ورودی‌ها/خروجی‌ها: ندارد؛ صرفاً اطلاعاتی است.

---

جدول خلاصه

نام گره (Node Name)نوع گره (Node Type)نقش عملکردی (Functional Role)گره(های) ورودی (Input Node(s))گره(های) خروجی (Output Node(s))یادداشت چسبان (Sticky Note)
Schedule TriggerscheduleTriggerشروع خراشیدن هر ۱۲ ساعتNoneHTTP Request
HTTP RequesthttpRequestشروع کار خراشیدن BrowserActSchedule TriggerIf## ۱. راه‌اندازی خراشنده کار - از API BrowserAct برای شروع کار خراشیدن استفاده می‌کند.
Ififاعتبارسنجی پاسخ کار خراشیدنHTTP RequestHTTP Request1, Wait1## ۲. انتظار برای اتمام خراشیدن - بررسی می‌کند که آیا شناسه کار وجود دارد و خطایی برای ادامه وجود ندارد.
HTTP Request1httpRequestبررسی وضعیت کار BrowserActIfIf1## ۲. انتظار برای اتمام خراشیدن - وضعیت کار خراشیدن را بررسی می‌کند.
If1ifبررسی اتمام خراشیدنHTTP Request1AI Agent, Wait## ۲. انتظار برای اتمام خراشیدن - تعیین می‌کند که آیا خراشیدن کامل شده است یا بیشتر منتظر می‌ماند.
Waitwaitمکث قبل از بررسی وضعیت بعدیIf1HTTP Request1## ۲. انتظار برای اتمام خراشیدن - ۱ دقیقه قبل از تلاش مجدد برای بررسی وضعیت صبر می‌کند.
Wait1waitتاخیر در تلاش مجدد در صورت شکست شروع کار خراشیدنIfHTTP Request## ۲. انتظار برای اتمام خراشیدن - ۲۰ ثانیه قبل از تلاش مجدد برای شروع کار خراشیدن صبر می‌کند.
Google Gemini Chat Model@n8n/n8n-nodes-langchain.lmChatGoogleGeminiاستنتاج مدل زبانAI AgentAI Agent## ۳. پردازش هوش مصنوعی - گره Google Gemini برای تولید متن و خلاصه‌سازی.
Structured Output Parser@n8n/n8n-nodes-langchain.outputParserStructuredتجزیه پاسخ ساختاریافته هوش مصنوعیAI AgentAI Agent## ۳. پردازش هوش مصنوعی - خروجی هوش مصنوعی را به یک فرمت ساختاریافته تجزیه می‌کند.
AI Agent@n8n/n8n-nodes-langchain.agentهماهنگ‌کننده پردازش هوش مصنوعیIf1Code in JavaScript## ۳. پردازش هوش مصنوعی - گره اصلی هوش مصنوعی که Gemini را برای خلاصه‌سازی و حذف موارد تکراری محتوا فرا می‌خواند.
Code in JavaScriptcodeقالب‌بندی خروجی هوش مصنوعی برای ارسالAI AgentIf2## ۴. قالب‌بندی پیام - خروجی هوش مصنوعی را به موارد جداگانه برای تلگرام تبدیل می‌کند.
If2ifتصمیم‌گیری در مورد نوع پیام (متن/عکس)Code in JavaScriptSend a text message, Send a photo message## ۴. قالب‌بندی پیام - وجود URL عکس را برای تعیین نوع پیام بررسی می‌کند.
Send a text messagetelegram (sendMessage)ارسال پیام متنی فقط به تلگرامIf2Workflow End## ۵. ارسال به تلگرام - یک پیام متنی به کانال تلگرام ارسال می‌کند.
Send a photo messagetelegram (sendPhoto)ارسال پیام عکس به تلگرامIf2Workflow End## ۵. ارسال به تلگرام - یک پیام عکس با زیرنویس به کانال تلگرام ارسال می‌کند.

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

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

این گردش کار چگونه محتوای توییتر/X را جمع‌آوری می‌کند؟

این گردش کار از API مرورگر (BrowserAct API) برای اجرای وظایف از پیش تعریف شده جهت استخراج آخرین محتوای توییتر/X استفاده می‌کند.

نقش هوش مصنوعی گوگل جمینای در این گردش کار چیست؟

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

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

این گردش کار به طور خودکار هر ۱۲ ساعت یک بار توسط یک تریگر زمان‌بندی شده (Schedule Trigger) فعال می‌شود.

محتوای پردازش شده به کجا ارسال می‌شود؟

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

workflowهای مرتبط

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