چت بات تلگرام با n8n

انتشار خودکار محتوا با n8n

مقدمه

چت بات تلگرام با n8n:

N8Nابزاری است که به کمک آن می توانید در مدت‌زمان کوتاهی، فرایندهای خود را با هوش مصنوعی خودکار کنید و از مزایای اتوماسیون هوشمند بهره‌ مند شوید.

N8N برای چه کسب و کارهایی مناسب است:

اگر سازمان شما کوچک می باشد و هم اکنون بسیاری از کار های خود را با نرم افزار هایی همچون اکسل انجام می دهید، N8N برای کسب و کار شما ایده آل است و در صورتی که کسب و کاری متوسط یا بزرگ دارید می توانید بخش های بسیاری از فرایند های غیر کلیدی خود را با این ابزار هوشمند کنید.
اگر به پیاده‌سازی اختصاصی، اتصال n8n به نرم‌افزارهای سازمانی یا سفارشی‌سازی Workflowها متناسب با کسب‌وکارتان نیاز دارید، Danix با بررسی نیازهای کسب‌وکار تان، می‌تواند این فرایند را از طراحی تا استقرار برای شما انجام دهیم.
برای کسب و کارهای کوچک به این لینک مراجعه کنید و برای کسب و کارهای بزرگ و متوسط میتوانید از این لینک استفاده نمایید.
همچنین اگر ترجیح می‌دهید شخصاً نصب و راه‌اندازی را انجام دهید، می‌توانید از اطلاعات موجود در مقالات، دسته N8N استفاده کنید .همچنین می توانید template موجود در این workflow را به صورت رایگان از این قسمت دانلود کنید.

چت بات تلگرام با n8n

مقدمه

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

این Template یک بات چندفرمتی می‌سازد که پیام متنی را مستقیم تحلیل می‌کند و پیام صوتی را ابتدا به متن تبدیل می‌کند. سپس پاسخ مناسب را با کمک مدل GPT-4o تولید می‌کند و آن را در تلگرام ارسال می‌کند. وجود حافظه مکالمه، تشخیص نوع محتوا و مدیریت خطا باعث می‌شود این Workflow یک الگوی حرفه‌ای برای توسعه بات‌های واقعی باشد.


قبل از شروع

اگر هنوز n8n را نصب نکرده‌اید، پیشنهاد می‌کنیم ابتدا مقاله «آموزش n8n» را مطالعه کنید. در آن مقاله، مراحل نصب با Node.js و Docker، راه‌اندازی اولیه و ساخت اولین Workflow آموزش داده شده است. پس از نصب و راه‌اندازی، به این مقاله بازگردید و مراحل پیاده‌سازی این Workflow را دنبال کنید.


این Workflow چه کاری انجام می‌دهد؟

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

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


کاربردهای این Workflow

این Template در سناریوهای مختلف کاربرد دارد:

  • ساخت دستیار پشتیبانی برای پاسخ به سوالات مشتریان در تلگرام
  • طراحی بات مشاوره اولیه برای خدمات آموزشی، فنی یا فروش
  • دریافت پیام صوتی کاربران و تبدیل آن به متن برای تحلیل سریع
  • ایجاد دستیار داخلی برای تیم‌ها جهت پاسخ‌گویی به سوالات تکراری
  • ساخت ربات آموزشی برای توضیح مفاهیم به صورت تعاملی
  • راه‌اندازی سیستم پاسخ‌گوی ۲۴ ساعته برای پیج‌ها و کانال‌های خدماتی
  • استفاده به عنوان هسته اولیه برای توسعه بات‌های تخصصی‌تر

پیش‌نیازها

برای اجرای این Template باید موارد زیر را آماده کنید:

  • نصب و راه‌اندازی n8n
  • ساخت بات تلگرام از طریق BotFather و دریافت Token
  • ساخت Credential تلگرام در n8n
  • داشتن حساب OpenAI و دریافت API Key
  • ساخت Credential مربوط به OpenAI در n8n
  • دسترسی به دامنه یا URL معتبر با HTTPS برای Webhook
  • بررسی دسترسی سرور به سرویس‌های OpenAI و Telegram

توضیح کوتاه درباره سرویس‌های استفاده‌شده

Telegram بستر دریافت و ارسال پیام در این Workflow است. از طریق Bot API می‌توان پیام، فایل، وضعیت تایپ و اطلاعات کاربر را دریافت یا ارسال کرد.

OpenAI در این Template دو نقش دارد: یک‌بار فایل صوتی را به متن تبدیل می‌کند و بار دیگر با مدل GPT-4o پاسخ نهایی را می‌سازد. هسته فهم و تولید متن در این چت بات تلگرام با n8n بر عهده OpenAI است.

رمز فایل : danixai.com

فایل JSON این Workflow را از این قسمت دانلود کنید.

آموزش 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 شرط‌های جدید بسازید و نودهای مناسب برای پردازش آن نوع محتوا اضافه کنید.

GIT_LINK

Categories: , ,

توسعه توسط تیم میهن وردپرس