رباتهای تلگرامی دیگر فقط برای نمایش منو یا ارسال پاسخهای از پیش تعیینشده استفاده نمیشوند. با اتصال تلگرام به ابزارهای هوش مصنوعی میتوانید رباتی بسازید که پیام کاربران را تحلیل کند، به سؤالهای مختلف پاسخ دهد و حتی با حفظ زمینه مکالمه، گفتوگویی طبیعیتر داشته باشد.
در این آموزش با استفاده از n8n، تلگرام و OpenAI یک ربات هوش مصنوعی میسازیم. این ربات پیام کاربر را دریافت میکند، آن را به یک AI Agent میفرستد و پاسخ تولیدشده را در تلگرام نمایش میدهد. همچنین حافظه مکالمه را تنظیم میکنیم تا ربات بتواند پیامهای قبلی همان گفتوگو را در پاسخهای بعدی در نظر بگیرد.
در پایان این مقاله یاد میگیرید:
- ربات تلگرام را به n8n متصل کنید.
- یک AI Agent برای پاسخگویی بسازید.
- مدل زبانی OpenAI را به Agent وصل کنید.
- حافظه مکالمه را بر اساس شناسه گفتوگوی تلگرام تنظیم کنید.
- پاسخ هوش مصنوعی را به کاربر برگردانید.
- ربات را آزمایش کنید و محدودیتهای آن را بشناسید.
تفاوت ربات معمولی با ربات هوش مصنوعی تلگرام چیست؟
در ربات معمولی، پاسخها معمولاً از قبل تعیین میشوند. برای مثال، اگر کاربر عدد 1 را ارسال کند، ربات یک پیام ثابت نمایش میدهد. اگر کاربر سؤال متفاوتی بپرسد، ربات ممکن است نتواند پاسخ مناسبی ارائه کند.
اما ربات هوش مصنوعی میتواند متن پیام را به مدل زبانی ارسال کند و بر اساس آن پاسخ تولید کند.
| قابلیت | ربات معمولی | ربات هوش مصنوعی |
|---|---|---|
| پاسخهای از پیش تعیینشده | بله | بله، در صورت پیادهسازی |
| پاسخ به سؤالهای متنوع | محدود | انعطافپذیرتر |
| درک زمینه مکالمه | نیازمند منطق اختصاصی | با تنظیم حافظه امکانپذیر است |
| استفاده از ابزارها و APIها | با Workflow قابل پیادهسازی | با Agent و ابزارهای متصل قابل پیادهسازی |
| هزینه مدل هوش مصنوعی | لزوماً ندارد | معمولاً هزینه API دارد |
هوش مصنوعی به این معنی نیست که ربات همیشه پاسخ درست میدهد. برای کاربردهای واقعی، باید محدودیتها، هزینهها، امنیت اطلاعات و نحوه دسترسی به دادههای معتبر را در نظر بگیرید.
پیشنیازهای ساخت ربات هوش مصنوعی
برای اجرای این آموزش به موارد زیر نیاز دارید:
- یک نمونه فعال n8n
- یک ربات تلگرام ساختهشده با BotFather
- توکن ربات تلگرام
- دسترسی معتبر به OpenAI API
- اعتبارنامه OpenAI در n8n
اگر هنوز ربات تلگرام نساختهاید، ابتدا مقاله «آموزش ساخت ربات تلگرام با n8n؛ از BotFather تا اتصال به Workflow» را مطالعه کنید.
همچنین اگر میخواهید ابتدا با اتصال ساده تلگرام به مدل هوش مصنوعی آشنا شوید، مقاله «آموزش اتصال تلگرام به OpenAI با n8n؛ ساخت ربات پاسخگوی هوشمند» پیشنیاز مناسبی است.
توجه: اشتراک ChatGPT با دسترسی OpenAI API یکسان نیست. برای ارسال درخواست از n8n باید API Key معتبر و دسترسی لازم برای استفاده از مدل انتخابی را داشته باشید.
مرحله اول: ساخت Workflow و دریافت پیام تلگرام
وارد پنل n8n شوید و یک Workflow جدید ایجاد کنید.
یک Node از نوع Telegram Trigger اضافه کنید. این Node پیامهای دریافتی ربات را دریافت میکند.
در بخش Credentials، اتصال تلگرام را با توکن ربات تنظیم کنید و رویداد دریافتی را روی پیامها (Message) قرار دهید.
حالا Workflow را در حالت آزمایش اجرا کنید و یک پیام متنی به ربات بفرستید؛ برای مثال:
سلام، میخواهم درباره اتوماسیون اطلاعات بیشتری بدانم.
در خروجی Telegram Trigger، ساختار پیام را بررسی کنید. در بسیاری از پیامهای متنی، متن پیام در این مسیر قرار دارد:
{{ $json.message.text }}
شناسه گفتوگو نیز معمولاً از این مسیر در دسترس است:
{{ $json.message.chat.id }}
شناسه گفتوگو در ادامه برای دو کار مهم استفاده میشود: ارسال پاسخ به همان کاربر و جداسازی حافظه مکالمه کاربران از یکدیگر.
مرحله دوم: اضافهکردن AI Agent
پس از Telegram Trigger، یک Node از نوع AI Agent اضافه کنید و خروجی Trigger را به ورودی آن متصل کنید.
AI Agent میتواند پیام کاربر را دریافت کند، با استفاده از مدل زبانی پاسخ بسازد و در صورت اتصال ابزارهای مناسب، از آن ابزارها نیز کمک بگیرد.
در تنظیمات ورودی Agent، متن پیام کاربر را مشخص کنید. برای مثال، اگر نام Trigger شما Telegram Trigger است، میتوانید از این Expression استفاده کنید:
{{ $('Telegram Trigger').item.json.message.text }}
نام Node داخل Expression باید با نام واقعی آن در Workflow مطابقت داشته باشد.
تعیین دستورالعمل رفتاری ربات
در تنظیمات Agent، بخش مربوط به دستورالعمل سیستم یا System Message را پیدا کنید. نام و محل این گزینه ممکن است با نسخه n8n تفاوت داشته باشد.
برای شروع میتوانید دستورالعمل زیر را قرار دهید:
تو یک دستیار هوشمند فارسیزبان هستی.
وظیفه تو پاسخگویی محترمانه، روشن و کاربردی به سؤالهای کاربران است.
پاسخها را به زبان فارسی بنویس، مگر اینکه کاربر زبان دیگری بخواهد.
اگر اطلاعات کافی برای پاسخگویی نداری، این موضوع را شفاف بیان کن.
اطلاعات، قیمتها یا قابلیتهایی را که از آنها مطمئن نیستی، بهعنوان واقعیت قطعی بیان نکن.
از درخواست یا افشای اطلاعات محرمانه کاربران خودداری کن.
پاسخها را متناسب با سؤال و تا حد امکان مختصر ارائه بده.
با این دستورالعمل، رفتار کلی ربات مشخص میشود. اگر قرار است از آن برای پشتیبانی مشتریان استفاده کنید، باید دستورالعملهای اختصاصی کسبوکار و محدودیتهای پاسخگویی را نیز اضافه کنید.
مرحله سوم: اتصال مدل OpenAI به AI Agent
AI Agent برای تولید پاسخ به یک مدل زبانی نیاز دارد. برای این کار، یک Node از نوع OpenAI Chat Model اضافه کنید و آن را به ورودی مدل در AI Agent متصل کنید.
این اتصال با اتصال معمولی Nodeها متفاوت است؛ OpenAI Chat Model باید به ورودی مخصوص مدل در AI Agent متصل شود.
تنظیمات اصلی عبارتاند از:
- انتخاب یا ساخت Credential مربوط به OpenAI
- انتخاب یک مدل در دسترس حساب API
- بررسی تنظیمات مربوط به پاسخ و محدودیت مصرف
- اجرای آزمایشی Workflow
برای API Key از Credentialهای n8n استفاده کنید و آن را مستقیماً در متن پیام یا Workflow قرار ندهید.
مدل مناسب به نوع کاربرد، هزینه و کیفیت موردنیاز بستگی دارد. برای یک ربات ساده پاسخگو، بهتر است ابتدا با تنظیمات محدود و چند پیام آزمایشی شروع کنید.
آیا AI Agent به ابزار نیاز دارد؟
در نسخههای جدید n8n، پیادهسازی AI Agent بر پایه ابزارها انجام میشود و ممکن است لازم باشد دستکم یک Tool به آن متصل کنید. اگر رابط کاربری شما چنین الزامی دارد، میتوانید برای آزمایش یک ابزار ساده مانند Calculator را اضافه کنید.
برای اتصال Calculator:
- یک Node ابزار از نوع Calculator اضافه کنید.
- آن را به ورودی Tool در AI Agent متصل کنید.
- Workflow را آزمایش کنید و مطمئن شوید Agent میتواند در صورت نیاز از ابزار استفاده کند.
در یک ربات واقعی، ابزارها باید متناسب با کاربرد انتخاب شوند؛ برای مثال، ابزار جستوجو در پایگاه دانش یا فراخوانی یک API مشخص. ابزارهای حساس نباید بدون کنترل دسترسی و اعتبارسنجی ورودیها در اختیار Agent قرار بگیرند.
مرحله چهارم: تنظیم حافظه مکالمه
یکی از تفاوتهای مهم یک ربات ساده با ربات گفتوگومحور، توانایی استفاده از پیامهای قبلی است.
فرض کنید کاربر ابتدا بپرسد:
«من برای سایتم دنبال ابزار اتوماسیون هستم.»
سپس پیام دیگری ارسال کند:
«برای شروع چه پیشنهادی داری؟»
اگر پیام دوم بهصورت مستقل پردازش شود، مدل ممکن است اطلاعات کافی از پیام قبلی نداشته باشد. حافظه مکالمه کمک میکند زمینه گفتوگو حفظ شود.
اضافهکردن Simple Memory
در n8n، یک Node حافظه از نوع Simple Memory اضافه کنید و آن را به ورودی Memory در AI Agent متصل کنید.
در تنظیمات حافظه، باید مشخص شود هر مکالمه با چه شناسهای شناسایی میشود. برای ربات تلگرام، شناسه گفتوگو گزینه مناسبی برای شروع است.
اگر فیلد Session ID یا Session Key در نسخه شما در دسترس است، میتوانید از Expression زیر استفاده کنید:
{{ $('Telegram Trigger').item.json.message.chat.id }}
به این ترتیب، پیامهای یک گفتوگو با همان شناسه مرتبط میشوند و مکالمههای گفتوگوهای مختلف از یکدیگر جدا میمانند.
اگر گزینهای برای تعیین تعداد پیامهای قبلی یا پنجره حافظه وجود دارد، مقدار آن را متناسب با نیاز انتخاب کنید. نگهداری تاریخچه طولانی میتواند مصرف توکن و هزینه را افزایش دهد.
نکته مهم: Simple Memory برای آزمایش و نمونههای ساده مناسب است، اما نباید آن را بدون بررسی برای محیط تولید پرترافیک یا راهاندازی n8n در حالت Queue فرض کنید. برای کاربردهای پایدارتر، از راهکار حافظه یا ذخیرهسازی مناسب معماری خود استفاده کنید.
مرحله پنجم: ارسال پاسخ Agent به تلگرام
پس از AI Agent، یک Node از نوع Telegram اضافه کنید و عملیات ارسال پیام متنی را انتخاب کنید.
تنظیم شناسه گفتوگو
برای ارسال پاسخ به همان گفتوگویی که پیام از آن دریافت شده است، در فیلد Chat ID این Expression را قرار دهید:
{{ $('Telegram Trigger').item.json.message.chat.id }}
بهتر است شناسه را مستقیماً از Telegram Trigger دریافت کنید؛ زیرا ساختار خروجی AI Agent ممکن است با ساختار پیام اولیه متفاوت باشد.
تنظیم متن پاسخ
در خروجی AI Agent، فیلدی را پیدا کنید که متن نهایی پاسخ را در خود دارد. در بسیاری از Workflowهای ساده، این فیلد با نام output در دسترس است؛ در این حالت میتوانید از عبارت زیر استفاده کنید:
{{ $json.output }}
با این حال، خروجی واقعی Node را بررسی کنید و اگر نام یا ساختار فیلد متفاوت است، Expression را بر اساس داده واقعی تنظیم کنید.
اکنون ساختار اصلی Workflow شما باید شبیه این باشد:
Telegram Trigger
|
v
AI Agent <------ OpenAI Chat Model
^ (مدل)
|
Simple Memory
|
v
Telegram: Send Message
|
v
پاسخ به کاربر
اگر نسخه AI Agent شما به Tool نیاز دارد، ابزار متصلشده نیز باید به ورودی مخصوص Tool در Agent وصل باشد.
مرحله ششم: آزمایش مکالمه و حافظه
حالا Workflow را اجرا کنید و در تلگرام چند پیام متوالی بفرستید.
برای مثال:
پیام اول:
سلام، من یک فروشگاه اینترنتی دارم.
پیام دوم:
چه کارهایی را میتوانم خودکار کنم؟
پیام سوم:
برای همان فروشگاه، از کجا شروع کنم؟
بررسی کنید که ربات بتواند از زمینه مکالمه استفاده کند و پاسخها را در همان گفتوگو ارسال کند.
برای آزمایش دقیقتر، این موارد را هم بررسی کنید:
- آیا پیام کاربر به Agent میرسد؟
- آیا OpenAI پاسخ تولید میکند؟
- آیا حافظه به ورودی Memory در Agent متصل است؟
- آیا Session ID برای گفتوگوی کاربر بهدرستی تنظیم شده است؟
- آیا پاسخ برای همان Chat ID ارسال میشود؟
- آیا دو گفتوگوی مستقل، حافظه یکدیگر را دریافت نمیکنند؟
اگر ربات پیام قبلی را به خاطر نمیآورد، ابتدا تنظیمات حافظه و شناسه Session را بررسی کنید. همچنین مطمئن شوید پیامها واقعاً از یک گفتوگو و یک Session ارسال میشوند.
مرحله هفتم: فعالکردن ربات
پس از موفقیت آزمایشها، Workflow را ذخیره کنید و آن را فعال کنید.
در حالت فعال، Telegram Trigger باید پیامهای جدید را دریافت کند و Workflow را اجرا کند. برای اینکه ربات در دسترس کاربران واقعی باشد، باید تنظیمات Trigger، دسترسی شبکه و اتصال اعتبارنامهها نیز صحیح باشند.
در صورت استفاده از Webhook، تنظیمات دامنه عمومی و HTTPS سرور n8n نیز میتواند در دریافت رویدادها مؤثر باشد.
چگونه ربات هوش مصنوعی را برای پشتیبانی یا فروش آماده کنیم؟
تا این مرحله، ربات میتواند با استفاده از مدل زبانی پاسخ تولید کند و در صورت تنظیم صحیح حافظه، از زمینه مکالمه استفاده کند. اما برای استفاده تجاری، معمولاً به قابلیتهای بیشتری نیاز دارید.
۱. اتصال به اطلاعات معتبر کسبوکار
اگر کاربر درباره قیمت محصول، موجودی یا وضعیت سفارش سؤال کند، مدل نباید پاسخ را حدس بزند.
میتوانید ابزارهایی برای خواندن اطلاعات از پایگاه داده، API یا پایگاه دانش ایجاد کنید. سپس Agent بر اساس داده معتبر پاسخ میدهد.
۲. ساخت ربات پشتیبانی
میتوانید ربات را به یک سامانه تیکتینگ متصل کنید تا در صورت دریافت مشکل، درخواست کاربر ثبت شود و برای کارشناس ارسال گردد.
۳. ساخت ربات فروش
میتوانید اطلاعات محصولات را از فروشگاه بخوانید، محصولات مناسب را معرفی کنید و کاربر را به مرحله بعدی فرایند خرید هدایت کنید. برای ثبت سفارش و پرداخت، باید Workflowهای مستقل و اعتبارسنجیهای لازم را طراحی کنید.
۴. محدودکردن پاسخها به یک موضوع مشخص
اگر ربات برای یک کسبوکار خاص ساخته میشود، دستورالعمل سیستم را طوری تنظیم کنید که روی همان موضوع تمرکز کند. برای پاسخهای مستند، بهتر است مدل به اطلاعات واقعی کسبوکار دسترسی داشته باشد، نه اینکه فقط به دستورالعمل متنی متکی باشد.
۵. ثبت تاریخچه و گزارشگیری
برای بررسی کیفیت پاسخها و عیبیابی، میتوانید اطلاعات لازم مانند زمان درخواست، شناسه گفتوگو، وضعیت اجرا و خطاها را ذخیره کنید. اطلاعات حساس را بدون ضرورت نگهداری نکنید و دسترسی به گزارشها را محدود کنید.
خطاهای رایج در ساخت ربات هوش مصنوعی تلگرام
ربات هیچ پاسخی نمیدهد
اجرای Workflow را بررسی کنید. اگر Telegram Trigger اجرا نشده، تنظیمات Trigger و دسترسی شبکه را بررسی کنید. اگر Trigger اجرا شده ولی پاسخ ارسال نشده است، خروجی AI Agent و Telegram Node را بررسی کنید.
خطای OpenAI یا اعتبارنامه
Credential انتخابشده، اعتبار API Key، دسترسی مدل و محدودیتهای حساب را بررسی کنید. اشتراک ChatGPT بهتنهایی تضمین نمیکند که OpenAI API فعال یا دارای اعتبار باشد.
پاسخ در خروجی Agent وجود دارد، اما تلگرام پیام نمیگیرد
ممکن است Chat ID اشتباه باشد یا Expression متن پاسخ با خروجی Agent مطابقت نداشته باشد. شناسه گفتوگو را از Telegram Trigger بخوانید و مسیر واقعی متن پاسخ را در خروجی Agent بررسی کنید.
ربات مکالمه قبلی را به خاطر نمیآورد
اتصال Memory، شناسه Session و تنظیمات حافظه را بررسی کنید. اگر برای هر پیام یک شناسه متفاوت ایجاد شود، پیامهای یک کاربر در یک زمینه مشترک قرار نمیگیرند.
پاسخها بیش از حد طولانی هستند
در دستورالعمل سیستم از مدل بخواهید پاسخها را کوتاه و متناسب با سؤال بنویسد. در صورت نیاز، پاسخهای طولانی را پیش از ارسال به تلگرام مدیریت یا تقسیم کنید.
نکات امنیتی و هزینهای
پیش از استفاده عمومی از ربات، نکات زیر را در نظر بگیرید:
- توکن تلگرام و API Key را در Credentials نگه دارید.
- برای جلوگیری از مصرف غیرضروری، طول پیام ورودی و خروجی را کنترل کنید.
- دسترسی ابزارهای Agent را به حداقل قابلیتهای لازم محدود کنید.
- برای عملیات حساس، مانند تغییر سفارش یا حذف داده، تأیید و کنترل دسترسی در نظر بگیرید.
- اطلاعات مکالمه کاربران را بهصورت ناخواسته بین Sessionها به اشتراک نگذارید.
- خطاها را مدیریت کنید و جزئیات فنی حساس را برای کاربر نمایش ندهید.
- هزینه مصرف API را مرتب بررسی کنید.
حافظه مکالمه نیز بهخودیخود به معنی نگهداری دائمی و مطمئن اطلاعات نیست. اگر لازم است سابقه گفتوگو پس از راهاندازی مجدد یا در محیط چندپردازشی باقی بماند، از راهکار ذخیرهسازی مناسب استفاده کنید.
پرسشهای متداول
آیا ساخت ربات هوش مصنوعی تلگرام با n8n به برنامهنویسی نیاز دارد؟
برای نسخه اولیه این آموزش، میتوانید از Nodeهای آماده n8n استفاده کنید. قابلیتهای پیشرفتهتر مانند اتصال به پایگاه دانش، مدیریت کاربران، ثبت سفارش و ابزارهای اختصاصی ممکن است به طراحی فنی بیشتری نیاز داشته باشند.
تفاوت اتصال تلگرام به OpenAI با ساخت ربات هوش مصنوعی چیست؟
اتصال ساده تلگرام به OpenAI پیام را به مدل میفرستد و پاسخ را برمیگرداند. در ساخت ربات هوش مصنوعی، میتوانید قابلیتهایی مانند دستورالعملهای رفتاری، حافظه مکالمه و ابزارهای اختصاصی را نیز اضافه کنید.
آیا ربات میتواند مکالمههای قبلی را به خاطر بسپارد؟
بله، در صورتی که حافظه بهدرستی تنظیم شود و پیامها با Session مناسب به یکدیگر مرتبط باشند. برای نگهداری پایدار تاریخچه، باید از راهکار ذخیرهسازی متناسب با محیط اجرا استفاده کنید.
آیا میتوان ربات را به اطلاعات سایت متصل کرد؟
بله. میتوانید ابزارهایی برای خواندن اطلاعات از API، پایگاه داده یا پایگاه دانش به Agent متصل کنید. برای پاسخهای دقیق درباره محصولات و سفارشها، اطلاعات باید از منبع معتبر دریافت شوند.
آیا استفاده از این ربات رایگان است؟
خود n8n ممکن است بسته به روش میزبانی و نوع استفاده هزینه داشته باشد و استفاده از OpenAI API نیز معمولاً بر اساس مصرف محاسبه میشود. هزینه نهایی به مدل انتخابی، تعداد پیامها و طول ورودی و خروجی بستگی دارد.
جمعبندی
در این مقاله یاد گرفتیم چگونه با n8n یک ربات هوش مصنوعی تلگرام بسازیم. پیامهای کاربران از طریق Telegram Trigger دریافت میشوند، AI Agent آنها را با کمک مدل OpenAI پردازش میکند و پاسخ تولیدشده از طریق Telegram Node به کاربر برمیگردد.
همچنین دیدیم که با اتصال حافظه مکالمه و استفاده از شناسه گفتوگو میتوان زمینه پیامهای قبلی را حفظ کرد. این ساختار پایهای برای ساخت دستیار هوشمند، ربات پشتیبانی و ربات فروش است.
برای تبدیل نمونه آموزشی به یک راهکار واقعی، گام بعدی میتواند اتصال ربات به پایگاه دانش یا APIهای کسبوکار باشد تا پاسخها علاوه بر طبیعیبودن، بر اساس اطلاعات معتبر نیز تولید شوند.





