
ساخت رشته X (توییتر) با GPT و تلگرام: اتوماسیون و تأیید
13 دقیقه مطالعه · منتشر شده ۱۴۰۵/۵/۶
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- workflow را فعال کنید.
شناسه workflow: 11121 · منبع: کاتالوگ Axeto
اتوماسیون ایجاد و انتشار رشتههای X (توییتر) با GPT از طریق تلگرام و حلقه تأیید
این گردش کار، ایجاد و انتشار رشتههای X (توییتر سابق) را با استفاده از مدلهای GPT OpenAI خودکار میکند. این گردش کار با تلگرام برای ورودی کاربر، از جمله تبدیل صدا به متن، ادغام میشود و قبل از انتشار در X از طریق Blotato، یک حلقه تأیید را پیادهسازی میکند. این روش برای تولیدکنندگان محتوا که به دنبال سادهسازی فرآیند ارسال پست در X هستند، ایدهآل است.
دستهبندیها: رسانههای اجتماعی، چتبات هوش مصنوعی
پلتفرم: اتوماسیون X (توییتر) Axeto.ai
---
۱. نمای کلی گردش کار
این گردش کار، ایجاد و انتشار رشتههای X (توییتر سابق) را با استفاده از مدلهای GPT OpenAI از طریق تعامل با تلگرام خودکار میکند. این گردش کار از ورودی صدا به متن پشتیبانی میکند و شامل یک حلقه تأیید ضروری قبل از انتشار است.
گردش کار به بلوکهای منطقی زیر ساختار یافته است:
1. دریافت و تبدیل ورودی: ورودی کاربر را از تلگرام دریافت میکند و با تبدیل پیامهای صوتی به متن، هم پیامهای متنی و هم پیامهای صوتی را مدیریت میکند.
2. ایجاد محتوا با هوش مصنوعی و پالایش تکراری: از مدلهای GPT OpenAI با حافظه مکالمهای برای پیشنویس یک رشته X ساختاریافته (تا ۵ بخش) بر اساس ورودی کاربر استفاده میکند. این امکان پالایش تعاملی را از طریق سوالات بعدی فراهم میکند.
3. تشخیص تأیید و نهاییسازی: کلمات کلیدی تأیید کاربر را برای نهایی کردن محتوا نظارت میکند و توییتهای جداگانه را از پاسخ ساختاریافته هوش مصنوعی استخراج میکند.
4. انتشار در X از طریق Blotato: رشته تأیید شده را با استفاده از API Blotato در X منتشر میکند.
5. نظارت بر وضعیت انتشار و تأیید: وضعیت پست را از Blotato بررسی میکند و پیامهای تأیید یا خطا را به کاربر در تلگرام بازمیگرداند.
---
۲. تحلیل گره به گره (Node Analysis)
۲.۱ دریافت و تبدیل ورودی
این بخش به دریافت پیامها از تلگرام، تفکیک ورودیهای متنی و صوتی، و تبدیل پیامهای صوتی به متن با استفاده از OpenAI Whisper میپردازد.
گرهها (Nodes):
- شروع: پیام تلگرام (Start: Telegram Message)
* نوع: telegramTrigger
* نقش: نقطه ورود گردش کار (Workflow)، گوش دادن به پیامهای دریافتی تلگرام (متنی یا صوتی).
* پیکربندی: نظارت بر انواع بهروزرسانی "message". نیاز به اعتبارنامه API تلگرام دارد.
* ورودی: پیامهای خارجی تلگرام.
* خروجی: بار داده JSON حاوی جزئیات پیام (دادههای متنی یا صوتی).
* موارد مرزی (Edge Cases): پیامهای ناقص یا نامعتبر، انواع رسانههای پشتیبانی نشده.
- آمادهسازی ورودی (Prepare Input)
* نوع: set
* نقش: استخراج محتوای متنی از JSON پیام تلگرام. اگر متنی وجود نداشته باشد (مثلاً پیام صوتی)، یک رشته خالی تنظیم میکند.
* عبارت (Expression): ={{ $json?.message?.text || "" }}
* ورودی: JSON پیام تلگرام از گره ماشه (Trigger Node).
* خروجی: یک شیء حاوی فیلد text برای پردازشهای بعدی.
- بررسی: آیا صوتی است؟ (Check: Is it a Voice?)
* نوع: if
* نقش: تشخیص اینکه آیا پیام دریافتی یک پیام صوتی است یا خیر، با بررسی خالی بودن فیلد text.
* شرط (Condition): $json.message.text خالی است.
* شاخهها (Branches):
* درست (True): به پردازش ورودی صوتی میرود.
* نادرست (False): مستقیماً به پردازش ورودی متنی میرود.
* موارد مرزی: پیامهایی که نه متنی و نه صوتی هستند، پیامهای خالی.
- دریافت فایل صوتی (Get Voice File)
* نوع: telegram (منبع فایل - File Resource)
* نقش: دانلود فایل صوتی پیام صوتی از تلگرام با استفاده از شناسه فایل آن.
* ورودی: شناسه فایل صوتی استخراج شده از پیام تلگرام.
* خروجی: داده باینری فایل صوتی.
* موارد مرزی: فایل یافت نشد، خطاهای API تلگرام.
- گفتار به متن (Speech to Text)
* نوع: openAiAudioTranscription
* نقش: رونویسی فایل صوتی دانلود شده به متن با استفاده از OpenAI Whisper.
* ورودی: داده باینری فایل صوتی.
* اعتبارنامهها (Credentials): کلید API OpenAI.
* خروجی: متن رونویسی شده.
* موارد مرزی: کیفیت پایین صدا، خطاهای رونویسی، مهلت زمانی API (API timeouts).
- یادداشت چسبان ۱ (Sticky Note1)
* نوع: stickyNote
* محتوا: "دریافت ورودی: دریافت پیامهای تلگرام و تبدیل پیامهای صوتی به متن با استفاده از OpenAI Whisper."
۲.۲ تولید محتوا با هوش مصنوعی و پالایش تکراری
این بلوک از مدلهای GPT OpenAI برای تجزیه و تحلیل ورودی کاربر، ساختاردهی محتوا، و پیشنویس یک رشته X ۵ قسمتی استفاده میکند. این بخش با حفظ زمینه مکالمه، از پالایش تعاملی پشتیبانی میکند.
گرهها (Nodes):
- مدل چت OpenAI (OpenAI Chat Model)
* نوع: langchainOpenAiChatModel
* نقش: فراهم کردن رابط برای مدل زبان GPT OpenAI جهت تولید و پالایش محتوا.
* پیکربندی: مدل روی "gpt-5" (یا جایگزین مناسبی مانند "gpt-4o") تنظیم شده است.
* اعتبارنامهها: کلید API OpenAI.
* ورودی: متن آماده شده از پیامهای تلگرام یا رونویسیها.
* خروجی: پاسخ تولید شده توسط هوش مصنوعی، که میتواند پیشنویس رشته یا سوالات شفافسازی باشد.
* موارد مرزی: خطاهای API، محدودیت نرخ (rate limiting)، عدم دسترسی به مدل.
- حافظه بافر پنجرهای (Window Buffer Memory)
* نوع: langchainMemoryBufferWindow
* نقش: مدیریت زمینه مکالمه برای هر جلسه کاربر، امکان پالایش تکراری را فراهم میکند.
* پیکربندی: کلید جلسه معمولاً بر اساس شناسه کاربری تلگرام است؛ طول پنجره زمینه قابل تنظیم است (مثلاً ۱۰ پیام).
* ورودی/خروجی: تاریخچه مکالمه را به گره چت هوش مصنوعی (AI Chat Node) تغذیه میکند و آن را با پاسخهای جدید بهروز میکند.
* موارد مرزی: سرریز حافظه، مدیریت نادرست شناسه جلسه.
- پیشنویس و بازبینی پست با هوش مصنوعی (AI: Draft & Revise Post)
* نوع: langchainAgent
* نقش: هماهنگ کردن حلقه تولید و بازبینی محتوا با هدایت هوش مصنوعی.
* پیکربندی:
* دستور سیستمی (System Prompt): هوش مصنوعی را برای تجزیه و تحلیل ورودی کاربر از نظر موضوع، هدف، مخاطب، لحن، پیامهای کلیدی و مثالها راهنمایی میکند.
* سوالات شفافسازی: هوش مصنوعی ممکن است قبل از پیشنویس، تا ۳ سوال شفافسازی بپرسد.
* پیشنویس رشته (Thread Drafting): یک پیشنویس رشته ۵ قسمتی شامل قلابها (hooks)، روایت (narrative) و فراخوان به اقدام (calls-to-action) تولید میکند.
* پالایش تعاملی: بازخورد و بازبینیهای کاربر را مدیریت میکند.
* ورودی: ورودی متنی (از تلگرام یا رونویسی) همراه با حافظه مکالمه.
* خروجی: خروجی JSON ساختاریافته یا متنی حاوی پیشنویس رشته یا سوالات شفافسازی.
* موارد مرزی: ورودی مبهم کاربر، دادههای ناقص، مشکلات قالببندی خروجی هوش مصنوعی.
- یادداشت چسبان ۲ (Sticky Note2)
* نوع: stickyNote
* محتوا: "تولید و پالایش محتوا با هوش مصنوعی: پیشنویس رشتههای X با استفاده از GPT و امکان بازبینی تعاملی از طریق حافظه مکالمه."
۲.۳ تشخیص تأیید و نهاییسازی
این بخش سیگنالهای تأیید کاربر را در خروجی هوش مصنوعی تشخیص میدهد، استخراج محتوای نهایی پست را آغاز میکند و آن را برای انتشار آماده میسازد.
گرهها (Nodes):
- بررسی تأیید شده است؟ (Check if Approved)
* نوع: if
* نقش: تشخیص اینکه آیا خروجی هوش مصنوعی نشاندهنده تأیید کاربر است. این معمولاً با جستجوی کلمات کلیدی خاص یا ساختار JSON بررسی میشود.
* شرط: بررسی میکند که آیا خروجی هوش مصنوعی حاوی کلمات کلیدی تأیید (مانند "approved"، "publish") است یا با { شروع میشود (نشاندهنده ساختار JSON آماده برای استخراج).
* شاخهها:
* درست (True): به استخراج متن نهایی پست میرود.
* نادرست (False): پیشنویس هوش مصنوعی را برای بررسی و تأیید کاربر به تلگرام بازمیگرداند.
* موارد مرزی: مثبت کاذب/منفی کاذب در تشخیص کلمات کلیدی، خروجی نامعتبر هوش مصنوعی.
- تأیید: استخراج متن نهایی پست (Approval: Extract Final Post Text)
* نوع: code (JavaScript)
* نقش: تجزیه خروجی ساختاریافته هوش مصنوعی (که انتظار میرود JSON باشد) برای استخراج ۵ توییت نهایی شده.
* عملکرد: هرگونه کد یا متن اضافی را پاک میکند، JSON را به طور ایمن تجزیه میکند و tweet1 تا tweet5 را در فیلدهای جداگانه استخراج میکند.
* ورودی: خروجی هوش مصنوعی حاوی ساختار رشته نهایی شده.
* خروجی: فیلدهایی برای tweet1 تا tweet5.
* موارد مرزی: JSON گم شده یا نامعتبر، خطاهای تجزیه.
- پیشنهاد پست یا درخواست تأیید (Post Suggestion Or Ask For Approval)
* نوع: telegram (ارسال پیام - Send Message)
* نقش: ارسال پیشنویس تولید شده توسط هوش مصنوعی یا سوالات شفافسازی به کاربر در تلگرام برای بررسی.
* ورودی: متن خروجی هوش مصنوعی.
* خروجی: پیامی ارسال شده به کاربر تلگرام.
* موارد مرزی: خطاهای API تلگرام، عدم موفقیت در ارسال پیام.
- یادداشت چسبان ۳ (Sticky Note3)
* نوع: stickyNote
* محتوا: "تأیید و نهاییسازی: تشخیص تأیید کاربر و استخراج محتوای نهایی توییت برای انتشار."
۲.۴ انتشار در X از طریق Blotato
این بلوک با استفاده از API Blotato، ارسال واقعی رشته تأیید شده به X را مدیریت میکند.
گرهها (Nodes):
- ایجاد پست با Blotato (Create post with Blotato)
* نوع: blotato
* نقش: ارسال رشته ۵ قسمتی به X از طریق API Blotato.
* پیکربندی:
* پلتفرم روی "Twitter (X)" تنظیم شده است.
* حساب Blotato مناسب را انتخاب کنید.
* فیلدهای استخراج شده tweet1 تا tweet5 را به محتوا نگاشت کنید.
* اعتبارنامهها: اعتبارنامههای API Blotato.
* ورودی: توییتهای نهایی شده (tweet1 تا tweet5) از گره کد قبلی.
* خروجی: شناسه ارسال پست برای ردیابی وضعیت.
* موارد مرزی: خطاهای API، اعتبارنامههای نامعتبر، محدودیتهای ارسال پست X.
- ۵ ثانیه به Blotato بده :) (Give Blotat 5s :)
* نوع: wait
* نقش: معرفی یک تأخیر کوتاه (۵ ثانیه) برای پردازش ارسال توسط Blotato قبل از شروع نظرسنجی وضعیت.
* موارد مرزی: تأخیر ناکافی ممکن است منجر به نظرسنجی زودهنگام شود.
۲.۵ نظارت بر وضعیت انتشار و تأیید
این بخش نهایی، API Blotato را برای تأیید وضعیت پست نظرسنجی میکند و کاربر را در تلگرام از نتیجه مطلع میسازد.
گرهها (Nodes):
- بررسی وضعیت پست (Check post status)
* نوع: blotato (عملیات دریافت - Get Operation)
* نقش: بازیابی وضعیت فعلی پست ارسال شده با استفاده از شناسه آن.
* ورودی: شناسه ارسال پست از گره "Create post with Blotato".
* خروجی: وضعیت پست (مانند "published"، "in-progress"، "error").
* موارد مرزی: خطاهای API، شناسه ارسال نامعتبر.
- منتشر شده است؟ (Published?)
* نوع: if
* نقش: بررسی میکند که آیا وضعیت پست "published" است.
* شرط: {{ $json.status === "published" }}
* شاخهها:
* درست (True): به ارسال پیام تأیید میرود.
* نادرست (False): به بررسی اینکه آیا وضعیت "in-progress" است میرود.
- در حال انجام است؟ (In Progress?)
* نوع: if
* نقش: بررسی میکند که آیا وضعیت پست "in-progress" است.
* شرط: {{ $json.status === "in-progress" }}
* شاخهها:
* درست (True): منتظر تأخیر دیگری میماند و وضعیت را دوباره بررسی میکند.
* نادرست (False): فرض میکند وضعیت خطا است و به ارسال پیام خطا میرود.
* موارد مرزی: حلقههای بینهایت اگر وضعیت هرگز تغییر نکند.
- ۵ ثانیه دیگر به Blotato بده :) (Give Blotat other 5s :)
* نوع: wait
* نقش: اضافه کردن یک تأخیر دیگر قبل از بررسی مجدد وضعیت پست در صورتی که هنوز "in-progress" باشد.
* موارد مرزی: مشابه گره wait قبلی.
- ارسال پیام تأیید (Send a confirmation message)
* نوع: telegram (ارسال پیام - Send Message)
* نقش: اطلاعرسانی به کاربر در تلگرام مبنی بر اینکه پست او با موفقیت منتشر شده است، اغلب شامل یک لینک مستقیم.
* ورودی: شناسه چت تلگرام؛ URL عمومی پست منتشر شده (در صورت موجود بودن از پاسخ Blotato).
* خروجی: پیام تأیید ارسال شده به تلگرام.
* موارد مرزی: خرابی API تلگرام.
- ارسال پیام خطا (Send an error message)
* نوع: telegram (ارسال پیام - Send Message)
* نقش: اطلاعرسانی به کاربر در تلگرام در صورت بروز خطا در طول فرآیند ارسال.
* ورودی: شناسه چت تلگرام.
* خروجی: پیام خطا ارسال شده به تلگرام.
* موارد مرزی: خرابی API تلگرام.
- یادداشت چسبان ۴ (Sticky Note4)
* نوع: stickyNote
* محتوا: "نظارت بر وضعیت و تأیید: نظرسنجی Blotato برای وضعیت پست و اطلاعرسانی به کاربر در تلگرام."
---
۳. جدول خلاصه
| نام نود (Node Name) | نوع نود (Node Type) | نقش کاربردی (Functional Role) | نود(های) ورودی (Input Node(s)) | نود(های) خروجی (Output Node(s)) | محتوای یادداشت چسبان (Sticky Note Content) |
|---|---|---|---|---|---|
| Start: Telegram Message | telegramTrigger | نقطه ورود برای پیامهای تلگرام | - | Prepare Input | ۱. دریافت ورودی: پیامهای تلگرام را دریافت کرده و یادداشتهای صوتی را با استفاده از OpenAI Whisper به متن تبدیل میکند. |
| Prepare Input | set | متن را استخراج میکند یا رشته خالی تنظیم میکند | Start: Telegram Message | Check: Is it a Voice? | |
| Check: Is it a Voice? | if | تعیین میکند که ورودی صدا است یا متن | Prepare Input | Get Voice File, AI: Draft & Revise Post | |
| Get Voice File | telegram | فایل صوتی صدا را دانلود میکند | Check: Is it a Voice? (true) | Speech to Text | |
| Speech to Text | openAiAudioTranscription | صدای گفتار را به متن رونویسی میکند | Get Voice File | AI: Draft & Revise Post | |
| OpenAI Chat Model | langchainOpenAiChatModel | رابط GPT برای تولید/اصلاح | Prepare Input, Speech to Text | AI: Draft & Revise Post | ۲. ایجاد محتوای هوش مصنوعی: با استفاده از GPT، رشتههای X را پیشنویس کرده و امکان بازبینی تعاملی را از طریق حافظه مکالمه فراهم میکند. |
| Window Buffer Memory | langchainMemoryBufferWindow | زمینه مکالمه را مدیریت میکند | OpenAI Chat Model | OpenAI Chat Model | |
| AI: Draft & Revise Post | langchainAgent | حلقه پیشنویس و بازبینی هوش مصنوعی را هماهنگ میکند | OpenAI Chat Model, Window Buffer Memory | Check if Approved | |
| Check if Approved | if | کلمات کلیدی تأیید کاربر/ساختار JSON را تشخیص میدهد | AI: Draft & Revise Post | Approval: Extract Final Post Text, Post Suggestion Or Ask For Approval | ۳. تأیید و نهاییسازی: تأیید کاربر را تشخیص داده و محتوای نهایی توییت را برای انتشار استخراج میکند. |
| Approval: Extract Final Post Text | code | JSON خروجی هوش مصنوعی را برای استخراج توییتها تجزیه میکند | Check if Approved (true) | Create post with Blotato | |
| Post Suggestion Or Ask For Approval | telegram | پیشنویس/سوالات را برای بررسی به کاربر ارسال میکند | Check if Approved (false) | Start: Telegram Message (loop) | |
| Create post with Blotato | blotato | رشته را از طریق API Blotato به X ارسال میکند | Approval: Extract Final Post Text | Give Blotat 5s :) | ۴. انتشار در X: رشته تأیید شده را با استفاده از API Blotato در X پست میکند. |
| Give Blotat 5s :) | wait | تأخیر کوتاه قبل از بررسی وضعیت | Create post with Blotato | Check post status | |
| Check post status | blotato | وضعیت فعلی پست را بازیابی میکند | Give Blotat 5s :) | Published?, In Progress? | ۵. نظارت بر وضعیت: وضعیت پست را از Blotato دریافت کرده و کاربر را در تلگرام مطلع میکند. |
| Published? | if | بررسی میکند که آیا وضعیت "published" است | Check post status | Send a confirmation message | |
| In Progress? | if | بررسی میکند که آیا وضعیت "in-progress" است | Published? (false) | Give Blotat other 5s :) | |
| Give Blotat other 5s :) | wait | تأخیر قبل از بررسی مجدد وضعیت | In Progress? (true) | Check post status | |
| Send a confirmation message | telegram | کاربر را از انتشار موفقیتآمیز مطلع میکند | Published? (true) | - | |
| Send an error message | telegram | کاربر را از خطای ارسال مطلع میکند | In Progress? (false) | - |
Nodeهای استفادهشده
سوالات متداول
این گردش کار چگونه به اتوماسیون انتشار در X (توییتر) کمک میکند؟▾
این گردش کار با دریافت ورودی از طریق تلگرام (حتی پیامهای صوتی)، تولید پیشنویس رشتههای X با استفاده از GPT و سپس انتشار خودکار آنها پس از تأیید، فرآیند انتشار در X را خودکار میکند.
آیا این گردش کار از ورودی صوتی پشتیبانی میکند؟▾
بله، این گردش کار از ورودی صوتی از طریق تلگرام پشتیبانی میکند و با استفاده از قابلیت تبدیل صدا به متن، پیامهای صوتی را به متن قابل پردازش تبدیل میکند.
نقش حلقه تأیید در این گردش کار چیست؟▾
حلقه تأیید به شما امکان میدهد قبل از انتشار نهایی رشته در X، محتوای تولید شده توسط GPT را بررسی و تأیید کنید. این امر کنترل بیشتری بر محتوای منتشر شده فراهم میکند.
چه ابزارهایی در این گردش کار استفاده شدهاند؟▾
این گردش کار از n8n، GPT (OpenAI)، تلگرام و Blotato برای اتوماسیون، تولید محتوا، دریافت ورودی و انتشار استفاده میکند.
workflowهای مرتبط
- خودکارسازی تماسهای خروجی Typeform با Vapi در n8nLead Nurturing
- پاسخ خودکار به سوالات GitHub PR با GPT-4o، Notion و SlackEngineering
- ممیزی خودکار سئو با هوش مصنوعی و PageSpeed Insights در n8nMarket Research
- اتوماسیون تخصیص تسکهای Jira با هوش مصنوعی Grok و AirtableProject Management
- دستیار هوش مصنوعی املاک: PropertyFinder.ae، OpenRouter و Se…Miscellaneous
- دستیار پورتفولیوی مدیریت ثروت با هوش مصنوعی و Google GeminiSupport Chatbot
