نود X (Formerly Twitter) در n8n
نود X (Formerly Twitter) در n8n یک ابزار یکپارچهسازی (Integration) برای کار با API شبکه اجتماعی X است. با این نود میتوانید عملیات رایج مثل انتشار پست (Tweet)، جستجو و خواندن دادههای مرتبط با توییتها، و در برخی سناریوها مدیریت تعاملات را داخل یک ورکفلو خودکار انجام دهید. اگر هدف شما مانیتورینگ برند، اتوماسیون انتشار محتوا، یا ساخت رباتهای ساده گزارشدهی باشد، این نود یکی از گزینههای کاربردی است.
معرفی نود در N8N
کارکرد نود چیست؟
این نود به شما اجازه میدهد بهجای کدنویسی مستقیم، درخواستهای لازم به API پلتفرم X را از طریق تنظیمات آماده در n8n انجام دهید. نتیجه هر عملیات بهصورت JSON برمیگردد و میتوانید آن را با نودهای دیگر پردازش، ذخیره یا ارسال کنید.
دستهبندی نود
- Integration: اتصال به سرویس X و انجام عملیات روی دادههای آن
- Action: بیشتر عملیات این نود از نوع اکشن است (مثلاً ایجاد یک توییت)
- Trigger: بسته به نسخه n8n و قابلیتهای ارائهشده، ممکن است تریگرهای محدود/غیرفعال باشد و معمولاً برای رویدادهای لحظهای، راهحل رایج استفاده از Polling با Cron است
کاربرد اصلی و اهمیت در ورکفلوها
- خودکارسازی انتشار محتوا از منابع دیگر (RSS، Google Sheets، Notion، Airtable)
- پایش کلمات کلیدی و جمعآوری داده برای تحلیل
- ارسال گزارشهای روزانه/هفتگی از وضعیت کمپینها یا منشنها
- کاهش کارهای تکراری تیم محتوا و مارکتینگ
موارد استفاده
سناریو 1: انتشار خودکار پست از RSS
- نود RSS Read: خواندن آخرین مطالب
- نود Function/Set: ساخت متن مناسب توییت (عنوان + لینک کوتاه + هشتگ)
- نود X: انتشار توییت
- نود IF: جلوگیری از انتشار تکراری (با بررسی لینک یا GUID)
سناریو 2: مانیتورینگ یک کلیدواژه و ارسال هشدار به تلگرام/اسلک
- نود Cron: اجرای دورهای (مثلاً هر 10 دقیقه)
- نود X: جستجوی توییتها با Query مشخص
- نود Filter/IF: فیلتر نتایج (مثلاً فقط توییتهای دارای لینک یا از زبان فارسی)
- نود Telegram/Slack: ارسال هشدار با لینک توییت
سناریو 3: انتشار زمانبندیشده از Google Sheets
- نود Google Sheets: خواندن ردیفهای دارای وضعیت آماده انتشار
- نود IF: چک زمان انتشار و وضعیت
- نود X: ارسال توییت
- نود Google Sheets Update: تغییر وضعیت ردیف به Published و ذخیره شناسه توییت
سناریو 4: بازنشر محتوا با الگوی ثابت (Template)
- نود HTTP Request یا CMS (مثل WordPress): دریافت آخرین محتوا
- نود Set: ساخت Template مثل: “جدید: {{$json.title}} | {{$json.url}} #news”
- نود X: انتشار
پارامترها و تنظیمات
پارامترها بسته به نسخه n8n و سطح دسترسی API شما ممکن است کمی تفاوت داشته باشند، اما منطق کلی تنظیمات مشابه است: ابتدا Credential برای X را تنظیم میکنید، سپس Resource و Operation را انتخاب میکنید و فیلدهای مرتبط را پر میکنید.
۱) Credentials (اعتبارنامه اتصال)
- نام پارامتر: Credentials
- نوع داده: تنظیم اتصال (OAuth/Bearer Token بسته به پیادهسازی نود)
- کاربرد: احراز هویت برای دسترسی به API
- مثال عملی: ساخت Credential با نام “X Main Account” و استفاده در همه ورکفلوهای مرتبط
نکته مهم: دسترسیهای API در X محدودیتهای سطحی دارد (Free/Basic/Pro/Enterprise). اگر Operation خاصی خطا داد، ممکن است به دلیل سطح دسترسی یا محدودیت Rate Limit باشد.
۲) Resource (منبع)
- نام پارامتر: Resource
- نوع داده: گزینهای (Option)
- کاربرد: تعیین میکند روی چه چیزی کار میکنید (معمولاً Tweet یا Search)
- مثال عملی: انتخاب Tweet برای انتشار یا انتخاب Search برای جستجو
۳) Operation (عملیات)
- نام پارامتر: Operation
- نوع داده: گزینهای (Option)
- کاربرد: نوع عملیات روی Resource (مثلاً Create، Get، Search)
- مثال عملی: Operation = Create برای ارسال توییت جدید
۴) Text / Status (متن توییت)
- نام پارامتر: Text (یا Status)
- نوع داده: String
- کاربرد: محتوای توییت
- مثال عملی:
جدید: {{$json["title"]}} - {{$json["url"]}} #Tech
نکته مهم: محدودیت طول متن و قوانین پلتفرم X را رعایت کنید. اگر متن را از چند فیلد میسازید، بهتر است قبل از ارسال طول آن را کنترل کنید (با Function یا Code node).
۵) Reply Settings (ارسال بهعنوان پاسخ)
- نام پارامتر: In Reply To (Tweet ID)
- نوع داده: String/Number
- کاربرد: اگر میخواهید توییت را در پاسخ به توییت دیگری منتشر کنید
- مثال عملی: پاسخ خودکار به توییتهای پشتیبانی با شناسه
{{$json.tweetId}}
نکته مهم: در اتوماسیون پاسخدهی مراقب اسپم شدن باشید و حتماً شرطگذاری (IF) و محدودیت نرخ (Wait) بگذارید.
۶) Media / Attachments (پیوست رسانه)
- نام پارامتر: Media IDs یا Media
- نوع داده: Array/String (بسته به نود)
- کاربرد: اتصال تصویر/ویدیو به توییت (معمولاً با آپلود جداگانه و گرفتن Media ID)
- مثال عملی: ابتدا آپلود فایل با HTTP Request یا نود مرتبط و سپس قرار دادن Media ID در فیلد Media
نکته مهم: در بسیاری از پیادهسازیها، آپلود رسانه یک مرحله جدا دارد. اگر نود X شما آپلود مستقیم ندارد، از HTTP Request برای endpoint آپلود استفاده کنید و سپس در نود X فقط Media ID را ارسال کنید.
۷) Query (برای جستجو)
- نام پارامتر: Query
- نوع داده: String
- کاربرد: جستجو در توییتها بر اساس عبارت، هشتگ، زبان، و عملگرها
- مثال عملی:
(n8n OR "workflow automation") lang:en -is:retweet
نکته مهم: سینتکس Query در API جستجوی X بسیار مهم است. حتماً از عملگرهایی مثل lang:، -is:retweet، has:links متناسب با نیاز استفاده کنید.
۸) Max Results / Limit (تعداد نتایج)
- نام پارامتر: Max Results / Limit
- نوع داده: Number
- کاربرد: تعیین تعداد آیتمهای خروجی در هر اجرا
- مثال عملی: 10 نتیجه آخر برای مانیتورینگ هر 10 دقیقه
نکته مهم: برای جلوگیری از مصرف سریع Rate Limit، تعداد نتایج را منطقی نگه دارید و از ذخیره آخرین ID پردازششده استفاده کنید.
۹) Expansions / Fields (فیلدهای اضافی در خروجی)
- نام پارامتر: Expansions / Tweet Fields / User Fields
- نوع داده: Array/Options
- کاربرد: گرفتن جزئیات بیشتر مثل اطلاعات کاربر، آمار، زمان ایجاد و…
- مثال عملی: افزودن
author_idوcreated_atبرای ساخت گزارش
نکته مهم: هرچه فیلدهای بیشتری درخواست کنید، پاسخ سنگینتر میشود. فقط موارد لازم را فعال کنید.
ورودیها و خروجیها
ورودیها (Input)
ورودی این نود معمولاً آیتمهای JSON از نود قبلی است. شما میتوانید متن توییت یا Query جستجو را با Expression از فیلدهای ورودی بسازید.
نمونه ورودی برای ارسال توییت:
{ "title": "راهنمای اتوماسیون با n8n", "url": "https://example.com/n8n-guide", "hashtags": ["n8n", "automation"]}خروجیها (Output)
خروجی بسته به Operation متفاوت است:
- در Create Tweet: معمولاً شناسه توییت و اطلاعات پایه توییت ساختهشده برمیگردد.
- در Search: لیستی از توییتها بههمراه متادیتا و گاهی اطلاعات userها (اگر expansions فعال باشد) برمیگردد.
نمونه خروجی رایج برای Create:
{ "data": { "id": "1750000000000000000", "text": "جدید: راهنمای اتوماسیون با n8n - https://example.com/n8n-guide #n8n #automation" }}نمونه خروجی رایج برای Search (خلاصهشده):
{ "data": [ { "id": "1751111111111111111", "text": "n8n برای اتوماسیون خیلی کاربردیه", "author_id": "9000000000", "created_at": "2026-02-18T08:10:00.000Z" }, { "id": "1752222222222222222", "text": "یک ورکفلو جدید با n8n ساختم", "author_id": "9000000001", "created_at": "2026-02-18T08:12:00.000Z" } ], "meta": { "result_count": 2 }}نکات پیشرفته و ترفندها
۱) جلوگیری از پردازش تکراری با ذخیره آخرین ID
- پس از Search، آخرین توییت پردازششده را در Data Store یا یک جدول (Sheets/DB) ذخیره کنید.
- در اجرای بعدی، فقط توییتهای جدیدتر را پردازش کنید (با پارامترهای زمان/شناسه در صورت پشتیبانی، یا با فیلتر کردن در n8n).
۲) ساخت متن توییت با کنترل طول
- با Code node طول متن را بررسی کنید و اگر زیاد بود خلاصهسازی کنید (مثلاً کوتاه کردن عنوان).
- برای لینکها از کوتاهکننده (Bitly node یا HTTP Request) استفاده کنید.
۳) Rate Limit را با Wait و Batch کنترل کنید
- اگر چندین توییت پشت سر هم ارسال میکنید، از Split In Batches استفاده کنید.
- بین هر Batch یک Wait بگذارید تا به محدودیتها برخورد نکنید.
۴) استفاده از HTTP Request برای قابلیتهای خارج از نود
- اگر در نود X عملیات مورد نیاز وجود ندارد، از HTTP Request با همان Credential (در صورت امکان) یا توکن Bearer استفاده کنید.
- این روش برای endpoints جدید یا آپلود رسانه معمولاً کاربردی است.
۵) غنیسازی دادهها قبل از انتشار
- قبل از ارسال توییت، با OpenAI/LLM (در صورت استفاده) یا یک Function ساده، کپشن جذاب بسازید.
- با IF بررسی کنید محتوا تکراری یا حساس نباشد (کلمات ممنوعه، طول زیاد، لینک نامعتبر).
محدودیتها و خطاها
محدودیتها
- سطح دسترسی API در X ممکن است برخی عملیات را محدود کند (بسته به پلن).
- Rate Limit میتواند باعث شود در دفعات زیاد درخواست، پاسخ 429 دریافت کنید.
- برخی قابلیتها (مثل مدیریت کامل DM یا برخی عملیات پیشرفته) ممکن است در نود آماده موجود نباشد و نیاز به HTTP Request داشته باشد.
- آپلود رسانه ممکن است نیازمند مرحله جداگانه باشد.
خطاهای رایج و راهحلها
- 401 Unauthorized / 403 Forbidden: اعتبارنامه اشتباه است یا دسترسی API ندارید. Credential را بررسی کنید و سطح دسترسی اپ در X را چک کنید.
- 429 Too Many Requests: Rate Limit. از Wait، Split In Batches و کاهش Max Results استفاده کنید.
- 400 Bad Request: متن خالی، طول نامعتبر، Query اشتباه یا پارامترهای ناسازگار. فیلدها را بررسی و داده ورودی را validate کنید.
- Duplicate content / Spam-like behavior: انتشار محتوای تکراری یا خیلی نزدیک به هم. زمانبندی را اصلاح کنید و متن را پویا کنید (مثلاً افزودن بخشهای متغیر).
- Media attach failed: Media ID نامعتبر یا مرحله آپلود کامل نشده است. فرآیند آپلود را جداگانه تست کنید و خروجی آن را لاگ بگیرید.
ایده ها
- ساخت ربات گزارش روزانه: جمعآوری بهترین توییتهای مرتبط با یک موضوع و ارسال خلاصه به ایمیل یا Notion
- اتوماسیون انتشار چندکاناله: انتشار همزمان یک محتوا در X، تلگرام و لینکدین با یک ورودی واحد
- پایش برند: جستجوی نام برند و ارسال هشدار فوری به Slack برای پاسخگویی سریع
- تقویم محتوا: خواندن برنامه انتشار از Google Sheets و انتشار زمانبندیشده همراه با ثبت نتیجه
- سیستم بررسی لینکها: قبل از انتشار، چک کردن Status Code لینکها (HTTP 200) و جلوگیری از انتشار لینک خراب
