آنچه در این مقاله میخوانید [پنهانسازی]
مقدمه: قدرت اتوماسیون در دستان شماست
✅ لینک ویدیوی آموزش در یوتوب ✅
در دنیای امروز که سرعت و کارایی حرف اول را میزند، اتوماسیون فرآیندها به یکی از نیازهای اساسی کسبوکارها و حتی کاربران عادی تبدیل شده است. n8n به عنوان یک ابزار اتوماسیون قدرتمند و متنباز، به شما این امکان را میدهد تا بدون نیاز به کدنویسی پیچیده، وظایف مختلف را خودکارسازی کنید. یکی از پرکاربردترین سناریوها، اتصال تلگرام به n8n است که به شما اجازه میدهد رباتهای تلگرامی هوشمند بسازید، پیامها را پردازش کنید، و حتی بر اساس آنها اقدامات خاصی را در سیستمهای دیگر انجام دهید.
در این بلاگ، هژی (محمد هژبری ) قصد داره به صورت جامع و گام به گام، نحوه وصل کردن تلگرام به n8n در حالت سلفهاستینگ با وبهوک را آموزش دهیم. این روش، بهترین راه برای دریافت لحظهای پیامها و پاسخدهی سریع است.
بخش اول: چرا اتصال تلگرام به n8n ؟
ترکیب n8n و تلگرام، دریچهای جدید به سوی اتوماسیونهای خلاقانه باز میکند:
- رباتهای تلگرامی هوشمند: ساخت رباتهایی که به پیامها پاسخ میدهند، اطلاعات را از منابع مختلف جمعآوری میکنند یا حتی دستورات را از طریق تلگرام دریافت و اجرا میکنند.
- مدیریت اعلانها: دریافت اعلانهای لحظهای از سیستمهای مختلف (مانند مانیتورینگ وبسایت، وضعیت سرور، یا سفارشات جدید) مستقیماً در تلگرام.
- اتوماسیون وظایف روزمره: از ارسال یادآورها گرفته تا مدیریت لیست وظایف، همه و همه میتوانند از طریق تلگرام و n8n خودکار شوند.
بخش دوم: وبهوک (Webhook) در مقابل پولینگ (Polling)
قبل از شروع، درک تفاوت بین دو روش اصلی اتصال تلگرام به n8n ضروری است:
- پولینگ (Polling): در این روش، n8n به صورت دورهای (مثلاً هر چند ثانیه یک بار) از سرورهای تلگرام میپرسد که آیا پیام جدیدی برای ربات شما وجود دارد یا خیر.
- مزایا: راهاندازی سادهتر در محیط لوکال، عدم نیاز به URL عمومی.
- معایب: تأخیر در دریافت پیامها، مصرف بیشتر منابع (به دلیل درخواستهای مکرر).
- وبهوک (Webhook): در این روش، شما یک URL عمومی (که به n8n شما اشاره میکند) را به تلگرام میدهید. هر زمان که پیام جدیدی برای ربات شما ارسال شود، تلگرام بلافاصله آن پیام را به URL شما ارسال میکند.
- مزایا: دریافت لحظهای پیامها، کارایی بالاتر، مناسب برای محیطهای تولیدی.
- معایب: نیاز به یک URL عمومی و امن (HTTPS) که در حالت سلفهاستینگ لوکال، نیاز به ابزارهایی مانند ngrok دارد.
با توجه به نیاز به پاسخدهی سریع و کارایی بالا، در این راهنما بر روی روش وبهوک تمرکز خواهیم کرد.
بخش سوم: پیشنیازها
برای راهاندازی موفقیتآمیز این سیستم، به موارد زیر نیاز دارید:
- نصب n8n: n8n باید بر روی سیستم شما (در حالت سلفهاستینگ) نصب و در حال اجرا باشد. معمولاً n8n روی پورت
5678اجرا میشود (مثلاًhttp://localhost:5678). - ربات تلگرام: شما باید یک ربات تلگرام از طریق @BotFather ایجاد کرده باشید و توکن (Token) آن را در اختیار داشته باشید.
- ngrok: ابزاری برای ایجاد یک تونل امن از اینترنت به سیستم لوکال شما، که یک URL عمومی HTTPS فراهم میکند.
بخش چهارم: راهنمای گام به گام اتصال تلگرام به n8n با وبهوک
این مراحل را با دقت دنبال کنید:
گام ۱: راهاندازی ngrok و دریافت URL عمومی
از آنجایی که تلگرام فقط URLهای HTTPS را برای وبهوک میپذیرد و n8n شما به صورت لوکال اجرا میشود، به ngrok نیاز دارید:
- دانلود و نصب ngrok:
- به وبسایت ngrok.com مراجعه کنید.
- ثبتنام کنید و نسخه مناسب سیستم عامل خود را دانلود و نصب کنید.
- دستورالعملهای مربوط به اتصال
authtokenرا پس از ثبتنام دنبال کنید تاngrokبه حساب شما متصل شود.
- اجرای ngrok:
- ترمینال (Command Prompt در ویندوز) را باز کنید.
- دستور زیر را اجرا کنید تا پورت
5678(پورت پیشفرض n8n) در دسترس اینترنت قرار گیرد:ngrok http 5678 - پس از اجرا،
ngrokیک URL عمومی HTTPS برای شما نمایش میدهد، چیزی شبیه بهhttps://your-random-subdomain.ngrok-free.app. این URL را کپی کنید؛ در مراحل بعدی به آن نیاز خواهید داشت.
گام ۲: تنظیم n8n برای استفاده از URL عمومی ngrok
n8n برای ساخت URLهای وبهوک خود، از متغیر محیطی WEBHOOK_URL استفاده میکند. باید این متغیر را با URL ngrok که در گام قبلی کپی کردهاید، تنظیم کنید:
- باز کردن Command Prompt جدید: یک پنجره Command Prompt (CMD) جدید باز کنید. (پنجره
ngrokرا باز نگه دارید.) - تنظیم متغیر محیطی (برای ویندوز):
- در CMD، دستور زیر را وارد کنید:
set WEBHOOK_URL=https://your-random-subdomain.ngrok-free.app/webhookنکته مهم: حتماً /webhook را در انتهای URL اضافه کنید. این بخش ضروری است تا n8n مسیر صحیح وبهوک را بسازد.
(به جای https://your-random-subdomain.ngrok-free.app، URL واقعی ngrok خود را قرار دهید.)
- در CMD، دستور زیر را وارد کنید:
- اجرای n8n:
- پس از تنظیم متغیر محیطی، n8n را در همین پنجره CMD اجرا کنید:
n8n start - n8n اکنون با آدرس وبهوک جدیدی که از
ngrokگرفتهاید، شروع به کار میکند.
- پس از تنظیم متغیر محیطی، n8n را در همین پنجره CMD اجرا کنید:
گام ۳: حذف وبهوک قدیمی تلگرام (در صورت وجود)
اگر قبلاً ربات تلگرام شما به وبهوک دیگری متصل بوده، باید آن را حذف کنید تا تداخلی ایجاد نشود:
- باز کردن مرورگر: یک مرورگر وب باز کنید.
- حذف وبهوک: آدرس زیر را در نوار آدرس مرورگر وارد کرده و
YOUR_BOT_TOKENرا با توکن واقعی ربات خود جایگزین کنید:https://api.telegram.org/bot<YOUR_BOT_TOKEN>/deleteWebhook - تأیید حذف: پس از فشردن Enter، باید پیامی مشابه
{"ok":true,"result":true,"description":"Webhook is already deleted"}دریافت کنید. این یعنی وبهوک قبلی با موفقیت حذف شده است.
گام ۴: تنظیم وبهوک جدید تلگرام
حالا که ngrok در حال اجراست و n8n با URL عمومی آن تنظیم شده، وبهوک جدید را در تلگرام ثبت میکنیم:
- باز کردن مرورگر: همان مرورگر وب را باز نگه دارید.
- تنظیم وبهوک جدید: آدرس زیر را در نوار آدرس مرورگر وارد کرده و
YOUR_BOT_TOKENرا با توکن واقعی ربات خود وYOUR_NGROK_URLرا با URLngrokخود (همراه با/webhookدر انتها) جایگزین کنید:https://api.telegram.org/bot<YOUR_BOT_TOKEN>/setWebhook?url=https://your-random-subdomain.ngrok-free.app/webhook - تأیید تنظیم: پس از فشردن Enter، باید پیامی مشابه
{"ok":true,"result":true,"description":"Webhook was set"}دریافت کنید. این یعنی وبهوک جدید با موفقیت ثبت شده است.
گام ۵: ساخت ورکفلو در n8n
حالا به محیط n8n بروید (http://localhost:5678) و ورکفلو خود را بسازید:
- ایجاد ورکفلو جدید: روی دکمه “New Workflow” کلیک کنید.
- اضافه کردن نود Telegram Trigger:
- روی دکمه
+کلیک کنید و “Telegram Trigger” را جستجو و انتخاب کنید. - روی نود کلیک کنید تا تنظیمات آن باز شود.
- در قسمت “Credentials”، روی “Create New” کلیک کنید.
- “Bot Token” را با توکن ربات تلگرام خود پر کنید و “Save” را بزنید.
- در قسمت “Resource”، “Message” را انتخاب کنید تا نود به پیامهای دریافتی واکنش نشان دهد.
- نکته: در این مرحله، n8n به صورت خودکار URL وبهوک را بر اساس
WEBHOOK_URLکه تنظیم کردهاید، به تلگرام ارسال میکند.
- روی دکمه
- اضافه کردن نود Telegram (برای پاسخدهی):
- دوباره روی دکمه
+کلیک کنید و “Telegram” را جستجو و انتخاب کنید. - این نود را به نود “Telegram Trigger” متصل کنید.
- روی نود جدید کلیک کنید تا تنظیمات آن باز شود.
- در قسمت “Credentials”، همان Credentials که قبلاً ساختید را انتخاب کنید.
- در قسمت “Chat ID”، مقدار
={{$json["message"]["chat"]["id"]}}را وارد کنید تا پاسخ به همان چتی که پیام از آن آمده، ارسال شود. - در قسمت “Text”، متنی که میخواهید به عنوان پاسخ ارسال شود را وارد کنید، مثلاً: “پیام شما دریافت شد و n8n آن را پردازش کرد!”
- دوباره روی دکمه
- ذخیره و فعالسازی ورکفلو:
- روی دکمه “Save” در بالای صفحه کلیک کنید.
- سپس، دکمه “Active” را فعال کنید تا ورکفلو شروع به کار کند.
گام ۶: تست نهایی
- ارسال پیام: از طریق اپلیکیشن تلگرام، به ربات خود پیام ارسال کنید.
- بررسی n8n: به محیط n8n برگردید. باید پیام ارسالی شما را در خروجی نود “Telegram Trigger” مشاهده کنید و ربات شما نیز باید پاسخی را که در نود “Telegram” تنظیم کردهاید، ارسال کند.
بخش پنجم: عیبیابی مشکلات رایج
- خطای
Bad Request: bad webhook: An HTTPS URL must be provided for webhook:- مطمئن شوید
ngrokدر حال اجراست و URL آن فعال است. - مطمئن شوید متغیر محیطی
WEBHOOK_URLرا در همان پنجره CMD که n8n را اجرا میکنید، به درستی تنظیم کردهاید (با استفاده ازset WEBHOOK_URL=...در ویندوز). - مطمئن شوید
/webhookرا در انتهای URLngrokدر متغیرWEBHOOK_URLو در دستورsetWebhookاضافه کردهاید. - یک بار دیگر مراحل حذف و تنظیم مجدد وبهوک تلگرام (گامهای ۳ و ۴) را با دقت انجام دهید.
- مطمئن شوید
- پیامها در n8n دریافت نمیشوند:
- وضعیت
ngrokرا بررسی کنید که فعال باشد و URL آن تغییر نکرده باشد. - URL وبهوک ثبت شده در تلگرام را با
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getWebhookInfoبررسی کنید. مطمئن شویدurlبه آدرسngrokشما اشاره میکند وpending_update_countصفر است. - مطمئن شوید ورکفلو در n8n “Active” است.
- n8n را یک بار
stopوstartکنید.
- وضعیت
نتیجهگیری: اتوماسیون بیدرنگ با تلگرام و n8n
با دنبال کردن این راهنمای جامع، شما قادر خواهید بود تلگرام را به n8n در حالت سلفهاستینگ با وبهوک متصل کنید و از قدرت اتوماسیون بیدرنگ بهرهمند شوید. این تنظیمات، پایه و اساس ساخت رباتهای تلگرامی پیشرفته و سیستمهای اعلان هوشمند را فراهم میکند.
به یاد داشته باشید که برای راهاندازی و نگهداری هر سیستم، داشتن ابزار مناسب اهمیت زیادی دارد. آری ابزار به عنوان یک فروشگاه آنلاین معتبر، میتواند مرجع مناسبی برای تهیه ابزارها و تجهیزات مورد نیاز شما در هر پروژهای باشد. همین امروز وارد دنیای اتوماسیون شوید و کارهای خود را هوشمندتر از همیشه انجام دهید!
در ادامه این مقاله می توانید از مقاله ای که در آن قالب های آماده ی n8n رو دانلود کنید را مطالعه بفرمایید.
۱. بررسی تنظیم درست متغیر محیطی در ویندوز
در CMD این دستور را اجرا کنید:
set WEBHOOK_URLاگر مقدار درستی نمایش داده نشد، مجدداً مقدار را به این شکل تنظیم کنید:
setx WEBHOOK_URL "<YOUR_WEBHOOK_URL>"بعد از تنظیم، CMD را ببندید و دوباره باز کنید تا تغییرات اعمال شوند.
✅ حالا بررسی کنید که مقدار ذخیره شده است:
echo %WEBHOOK_URL%۲. حذف Webhook قبلی و تنظیم جدید
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/deleteWebhook✅ سپس وبهوک جدید را تنظیم کنید:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/setWebhook?url=https://<YOUR_WEBHOOK_URL>









2 دیدگاه “اتصال تلگرام به n8n با وبهوک در حالت n8n سلفهاستینگ: راهنمای هوش مصنوعی”
عالیه برادر هژی
من تازه کار بودم خیلی اذیت شدم تا این موضوع رو اه انداختم.کاش زودتر پست شما رو میدیدم
خوشحالم استفاده میکنید، سوالی داشتید بپرسید