آموزش Import کردن Workflow
۱. وارد داشبورد n8n شوید.
۲. روی Import from File کلیک کنید.
۳. فایل JSON را انتخاب کنید.
۴. Workflow ایجاد خواهد شد.
۵. Credentialهای موردنیاز را تنظیم کنید.
آموزش کامل تمام Nodeها
Listen for incoming events
این نود نقش Trigger اصلی را دارد و هر رویداد جدیدی را از سمت تلگرام دریافت میکند. ورودی مستقیم از کاربر نمیگیرد، بلکه از Bot API رویدادها را دریافت میکند. خروجی شامل شناسه کاربر، شناسه چت، متن پیام و فایل صوتی است. گزینه updates روی * قرار دارد تا همه رویدادها را بگیرد. بدون این نود، بات هیچ پیامی دریافت نمیکند.
Send Typing action
این نود به تلگرام اعلام میکند که بات در حال آمادهسازی پاسخ است. ورودی آن شناسه چت از پیام دریافتی است و خروجی آن ارسال وضعیت typing به تلگرام است. عملیات روی sendChatAction تنظیم شده است. تجربه کاربری با این نود بهتر میشود و کاربر میفهمد که بات در حال پاسخگویی است.
Determine content type
این نود نوع محتوای ورودی را تشخیص میدهد و مسیر مناسب را انتخاب میکند. پیام به یکی از سه شاخه متن، ویس یا خطا هدایت میشود. وجود message.text برای متن و message.voice برای پیام صوتی بررسی میشود. در صورت نیاز، میتوانید شرطهای بیشتری برای تصویر، فایل یا ویدیو اضافه کنید. این نود از اختلاط مسیرهای پردازش جلوگیری میکند.
Download voice file
این نود فایل صوتی کاربر را از تلگرام دریافت میکند. ورودی آن مقدار file_id مربوط به ویس کاربر است و خروجی آن فایل صوتی به صورت باینری است. فیلد resource روی file قرار دارد. بدون دریافت فایل اصلی، مرحله تبدیل صوت به متن انجام نمیشود.
Convert audio to text
این نود صدای کاربر را به متن تبدیل میکند. ورودی آن فایل صوتی دریافتشده است و خروجی آن متن استخراجشده از پیام صوتی است. از OpenAI در حالت audio و عملیات transcribe استفاده میکند. زبان یا دمای پردازش را میتوانید تغییر دهید. پیام صوتی با این نود به فرمتی تبدیل میشود که AI Agent بتواند پردازش کند.
Combine content and set properties
این نود دادههای ورودی را یکدست میکند و چند فیلد کمکی میسازد. ورودی آن یا متن مستقیم کاربر است یا متن تبدیلشده از ویس. فیلدهایی مثل CombinedMessage، نوع پیام و وضعیت فوروارد بودن ساخته میشود. در صورت نیاز، فیلدهای سفارشی بیشتری میتوانید اضافه کنید. ساختار ورودی با این نود برای AI Agent استاندارد میشود.
AI Agent
این نود بر اساس ورودی کاربر، حافظه مکالمه و مدل زبانی پاسخ نهایی را تولید میکند. ورودی آن فیلد CombinedMessage به همراه حافظه و مدل متصل است. در systemMessage به Agent گفته شده که کاربر را با نام صدا بزند، تاریخ جاری را بداند و پاسخ را با HTML سازگار با تلگرام تولید کند. لحن پاسخ، نوع نقش بات و زبان قابل تغییر هستند. این نود مغز اصلی سناریو است.
OpenAI Chat Model
این نود مدل زبانی مورد استفاده AI Agent را فراهم میکند. مدل روی gpt-4o تنظیم شده، temperature برابر 0.7 و frequencyPenalty روی 0.2 است. بر اساس بودجه، کیفیت یا سرعت میتوانید مدل را تغییر دهید. کیفیت درک و تولید متن در این چت بات تلگرام با n8n با این نود تعیین میشود.
Window Buffer Memory
این نود چند پیام آخر هر کاربر را نگه میدارد تا مکالمه پیوسته بماند. کلید جلسه با chat.id ساخته شده و طول پنجره حافظه روی 10 قرار دارد. طول حافظه را میتوانید کم یا زیاد کنید. بات با این نود هر پیام را جدا از بقیه نمیبیند و زمینه گفتگو را حفظ میکند.
Send final reply
این نود پاسخ ساختهشده را برای کاربر در تلگرام ارسال میکند. parse_mode روی HTML قرار دارد و متن پایانی بر اساس نوع پیام ساخته میشود. متن انتهایی، امضا یا دکمههای بات قابل تغییر هستند. پاسخ تولیدشده با این نود به کاربر تحویل داده میشود.
Correct errors
این نود خطاهای مربوط به کاراکترهای حساس HTML را اصلاح میکند. ورودی آن خروجی خطادار از مسیر خطای نود ارسال پاسخ است. با Expression کاراکترهای &، <، > و ” جایگزین میشوند. اگر AI Agent متنی تولید کند که با HTML تلگرام سازگار نباشد، این نود مانع از شکست کامل پاسخ میشود.
Send error message
این نود به کاربر اطلاع میدهد که فرمت پیام پشتیبانی نمیشود. ورودی آن پیامهایی است که نه متن هستند و نه ویس. متن پیام بهصورت ثابت نوشته شده و از نام کاربر استفاده میکند. پیام را میتوانید دوستانهتر یا دقیقتر تنظیم کنید. این نود جلوی سردرگمی کاربر را میگیرد.
Sticky Note
این نود فقط برای مستندسازی داخل بوم Workflow استفاده میشود. ورودی و خروجی اجرایی ندارد. متن راهنما برای بخش دریافت و پیشپردازش پیام در آن قرار گرفته است. توضیحها را میتوانید متناسب با تیم خود تغییر دهید. خوانایی Workflow با این نود بهتر میشود.
Sticky Note1
این نود توضیح مرحله ارسال پیام به Agent و بازگرداندن پاسخ را نشان میدهد. ورودی و خروجی اجرایی ندارد. برای مستندسازی داخلی تیم میتوانید از آن استفاده کنید. درک سریعتر ساختار سناریو با وجود این نود آسانتر میشود.
Sticky Note2
این نود بخش مربوط به تبدیل صوت به متن را روی بوم مشخص میکند. ورودی و خروجی اجرایی ندارد. رنگ و متن آن برای تفکیک بصری انتخاب شده است. در پروژههای بزرگ میتوانید از استیکی نوتها برای جداسازی بخشها استفاده کنید.
نحوه شخصیسازی Workflow
برای شخصیسازی این Template چند نقطه کلیدی وجود دارد. مهمترین بخش، نود AI Agent است؛ متن systemMessage را میتوانید تغییر دهید تا بات رسمیتر، صمیمیتر یا تخصصیتر پاسخ دهد. برای تغییر مدل AI، نود OpenAI Chat Model را ویرایش کنید. سراغ نود Listen for incoming events بروید اگر میخواهید Trigger را تغییر دهید. برای افزودن مسیرهای جدید مثل عکس یا فایل، نود Switch را ویرایش کنید. اگر بخشی از Workflow باید به شکل دورهای کار کند، یک Cron Trigger میتوانید اضافه کنید.
مزایای استفاده از این Workflow
- هم پیام متنی را پردازش میکند و هم پیام صوتی را
- تجربه کاربری بهتری با نمایش حالت typing ایجاد میکند
- با استفاده از حافظه، مکالمه را طبیعیتر پیش میبرد
- ساختار آن برای توسعه و افزودن قابلیتهای جدید مناسب است
- خطاهای رایج HTML را قبل از شکست کامل مدیریت میکند
- نیاز به کدنویسی سنگین برای ساخت یک بات هوشمند را کاهش میدهد
- میتواند پایه یک محصول واقعی برای پشتیبانی، آموزش یا خدمات باشد
نکات مهم
- Credentialهای تلگرام و OpenAI را بهدرستی تنظیم کنید
- قبل از فعالسازی نهایی، مسیرهای متن و ویس را جداگانه تست کنید
- طول حافظه را با توجه به هزینه و نیاز مکالمه تنظیم کنید
- برای ویسهای طولانی زمان پردازش بیشتری در نظر بگیرید
- اگر کاربران فارسیزبان هستند، پرامپت Agent را با نیاز فارسی هماهنگ کنید
- در پروژههای واقعی روی لاگگیری و مانیتورینگ هم کار کنید
- در صورت افزایش تعداد کاربران، مصرف توکن و هزینه API را زیر نظر بگیرید
خطاهای رایج (Troubleshooting)
1) بات هیچ پیامی دریافت نمیکند
علت: Webhook تلگرام بهدرستی تنظیم نشده یا دامنه در دسترس نیست.
راهحل: آدرس n8n، فعال بودن HTTPS و صحت اتصال Credential تلگرام را بررسی کنید. سپس Workflow را دوباره فعال کنید.
2) پیام صوتی پردازش نمیشود
علت: فایل ویس بهدرستی دانلود نمیشود یا نود تبدیل صوت به متن به OpenAI دسترسی ندارد.
راهحل: خروجی نود Download voice file را بررسی کنید. بعد Credential مربوط به OpenAI و دسترسی API را تست کنید.
3) پاسخ نهایی در تلگرام خطای فرمت میدهد
علت: AI Agent متنی تولید کرده که با HTML تلگرام سازگار نیست.
راهحل: Prompt مربوط به فرمت HTML را دقیقتر کنید و مطمئن شوید مسیر خطا به نود Correct errors متصل است.
4) بات زمینه گفتگو را فراموش میکند
علت: طول حافظه کم است یا کلید جلسه بهدرستی تعریف نشده است.
راهحل: تنظیمات نود Window Buffer Memory را بررسی کنید و مقدار contextWindowLength را افزایش دهید.
5) بات به بعضی پیامها پاسخ خطا میدهد
علت: کاربر فرمتهایی مانند تصویر، فایل یا استیکر ارسال میکند که پشتیبانی نمیشوند.
راهحل: نودهای جدید برای این فرمتها اضافه کنید یا متن نود Send error message را واضحتر کنید.
6) هزینه استفاده از OpenAI بیشتر از انتظار میشود
علت: مدل انتخابی پیشرفته است و حافظه مکالمه یا تعداد درخواستها زیاد شده است.
راهحل: مدل ارزانتر انتخاب کنید، حافظه را کوتاهتر کنید و پاسخها را محدودتر نگه دارید.
جمعبندی
اگر به دنبال یک نمونه عملی برای ساخت چت بات تلگرام با n8n هستید، این Template یکی از بهترین نقطههای شروع است. این Workflow پیام صوتی را دریافت میکند، آن را به متن تبدیل میکند، پاسخ هوشمند میسازد و نتیجه را با فرمت مناسب در تلگرام نمایش میدهد. ترکیب Trigger تلگرام، تبدیل صوت به متن، AI Agent، مدل GPT-4o و حافظه مکالمه باعث شده این سناریو هم کاربردی باشد و هم توسعهپذیر. مسیرهای جدید میتوانید اضافه کنید، لحن بات را تغییر دهید و آن را برای پشتیبانی، آموزش یا فروش تنظیم کنید.
سوالات متداول
آیا این بات فقط پیام متنی را پشتیبانی میکند؟
خیر. هم متن پردازش میشود و هم پیام صوتی به متن تبدیل میشود.
آیا برای استفاده از این Template باید برنامهنویس حرفهای باشم؟
خیر. آشنایی با مفاهیم پایه n8n کافی است تا این Workflow را وارد و تنظیم کنید.
آیا میتوانم مدل GPT-4o را با مدل دیگری جایگزین کنم؟
بله. در نود OpenAI Chat Model میتوانید مدل را بر اساس نیاز، هزینه و کیفیت تغییر دهید.
آیا این Workflow برای زبان فارسی مناسب است؟
بله. با تنظیم درست Promptها، این چت بات تلگرام با n8n برای کاربران فارسیزبان هم قابل استفاده است.
آیا میتوانم این بات را برای پشتیبانی مشتریان شخصیسازی کنم؟
بله. کافی است Promptها، متن پاسخها و مسیرهای اجرایی را متناسب با کسبوکار خود تغییر دهید.
آیا امکان افزودن پشتیبانی از تصویر و فایل هم وجود دارد؟
بله. باید در نود Switch شرطهای جدید بسازید و نودهای مناسب برای پردازش آن نوع محتوا اضافه کنید.