مقدمه
ربات تلگرام هوشمند با n8n
ربات تلگرام هوشمند با n8n : امروزه استفاده از پیامرسانها به عنوان رابط کاربری سیستمهای هوش مصنوعی رشد چشمگیری داشته است. تلگرام به دلیل امکانات بینظیر و API پایدار، یکی از بهترین پلتفرمها برای این کار است. با استفاده از ابزار قدرتمند n8n، میتوانید بدون نیاز به کدنویسیهای پیچیده، سناریوهای اتوماسیون شگفتانگیزی خلق کنید.
در این مقاله آموزشی، فرآیند ساخت ربات تلگرام هوشمند با n8n را به صورت گامبهگام بررسی میکنیم. این سیستم از مدلهای پیشرفته OpenAI برای پاسخدهی متنی و تولید تصویر بهره میبرد. ابزار n8n به عنوان واسط ارتباطی، پیامها را دریافت کرده و به مغز هوش مصنوعی ارسال میکند.
این راهنما به شما کمک میکند تا یک دستیار همهفنحریف در تلگرام داشته باشید. این دستیار توانایی درک پیامهای متنی، حفظ تاریخچه گفتوگو و تولید تصاویر اختصاصی را دارد. در ادامه، تمام جزییات فنی و ساختاری این سناریو را بررسی خواهیم کرد.
قبل از شروع
ربات تلگرام هوشمند با n8n
اگر هنوز n8n را نصب نکردهاید، پیشنهاد میکنیم ابتدا مقاله «آموزش n8n» را مطالعه کنید. در آن مقاله، مراحل نصب با Node.js و Docker، راهاندازی اولیه و ساخت اولین Workflow بهصورت کامل آموزش داده شده است. پس از نصب و راهاندازی، به این مقاله بازگردید و مراحل پیادهسازی این Workflow را دنبال کنید.
این Workflow چه کاری انجام میدهد؟
ربات تلگرام هوشمند با n8n
این سناریو یک ربات تلگرام هوشمند مجهز به موتور هوش مصنوعی LangChain ایجاد میکند. زمانی که کاربر پیامی متنی ارسال میکند، ربات با استفاده از مدل GPT-4 پاسخ مناسب را تولید میکند. این پاسخ در قالب کدهای HTML استاندارد تلگرام قالببندی و ارسال میشود.
ویژگی برجسته این سناریو، قابلیت ابزارگرایی (Tool-use) آن است. اگر کاربر از ربات درخواست کشیدن نقاشی یا تولید تصویر کند، سیستم بهطور خودکار ابزار Dall-E 3 را فراخوانی میکند. سپس تصویر ساختهشده مستقیماً به چت کاربر در تلگرام ارسال میشود.
کاربردهای ساخت ربات تلگرام هوشمند با n8n
ربات تلگرام هوشمند با n8n
- پشتیبانی خودکار مشتریان: پاسخدهی ۲۴ ساعته و هوشمند به سوالات متداول کاربران در تلگرام.
- تولید محتوای بصری: ساخت سریع تصاویر و طرحهای گرافیکی با دستورات متنی ساده در تلگرام.
- آموزش و پاسخ به سوالات: ایجاد یک معلم خصوصی برای حل مسائل و توضیح مفاهیم علمی.
- سرگرمی و تعامل در گروهها: ادغام ربات در گروهها جهت تولید تصاویر فان و پاسخ به کاربران.
- دستیار شخصی متنی: خلاصهسازی متون، ترجمه زبانهای مختلف و اصلاح نگارش متون ارسال شده.
- اتصال به ابزارهای سازمانی: امکان توسعه ربات برای استعلام موجودی انبار یا وضعیت سفارشات کاربران.
پیشنیازها
ربات تلگرام هوشمند با n8n
- نصب و راهاندازی n8n: دسترسی به پنل مدیریت n8n فعال روی سرور یا لوکالهاست.
- توکن ربات تلگرام: دریافت توکن اختصاصی ربات از طریق BotFather در اپلیکیشن تلگرام.
- کلید API سرویس OpenAI: دریافت API Key معتبر از حساب کاربری OpenAI جهت استفاده از GPT-4 و Dall-E 3.
- دسترسی به اینترنت بدون محدودیت: سرور n8n باید به علت فیلترینگ تلگرام و OpenAI، دسترسی آزاد به اینترنت داشته باشد.
رمز فایل : danixai.com
ربات تلگرام هوشمند با n8n
فایل JSON این Workflow را از این قسمت دانلود کنید.
آموزش Import کردن Workflow
ربات تلگرام هوشمند با n8n
وارد داشبورد n8n شوید.
روی Import from File کلیک کنید.
فایل JSON را انتخاب کنید.
Workflow ایجاد خواهد شد.
Credentialهای موردنیاز را تنظیم کنید.
آموزش کامل تمام Nodeها
ربات تلگرام هوشمند با n8n
۱. Listen for incoming events
- وظیفه Node: گوش به زنگ بودن برای دریافت پیامهای جدید ارسال شده به ربات تلگرام.
- ورودی: پیامهای کاربران شامل متن، شناسه چت و اطلاعات فرستنده از وبهوک تلگرام.
- خروجی: یک شیء JSON حاوی اطلاعات کامل پیام و مشخصات کاربر فرستنده.
- تنظیمات مهم: بخش Updates روی گزینه message تنظیم شده تا فقط پیامهای متنی را پردازش کند.
- نکات قابل تغییر: میتوانید فیلترهای بیشتری مانند پیامهای ویرایششده یا تصاویر را اضافه کنید.
- دلیل استفاده: شروعکننده کل سناریو و دریافتکننده اصلی ورودیهای کاربر در تلگرام است.
۲. AI Agent
- وظیفه Node: تصمیمگیری هوشمند برای پاسخ به کاربر یا فراخوانی ابزار تولید تصویر.
- ورودی: متن پیام کاربر به همراه حافظه موقت و مدل زبانی تعریف شده.
- خروجی: پاسخ نهایی متنی یا دستور اجرای ابزار جانبی تولید عکس.
- تنظیمات مهم: فیلد System Message حاوی دستورالعملهای رفتاری ربات و کدهای مجاز HTML تلگرام است.
- نکات قابل تغییر: لحن صحبت ربات و قوانین قالببندی متن را در بخش System Message تغییر دهید.
- دلیل استفاده: هسته پردازشی اصلی ربات برای درک متن و هماهنگی بین بخشهای مختلف.
۳. OpenAI Chat Model
- وظیفه Node: تامین هوش و قدرت پردازش زبانی برای بخش AI Agent.
- ورودی: درخواستهای ارسال شده از سمت ایجنت هوش مصنوعی.
- خروجی: پاسخ پردازششده متنی بر اساس مدل زبانی انتخابی.
- تنظیمات مهم: استفاده از مدل
gpt-4-1106-previewبا درجه خلاقیت (Temperature) معادل ۰.۷. - نکات قابل تغییر: امکان تغییر مدل به نسخه ارزانتر
gpt-3.5-turboجهت کاهش هزینهها. - دلیل استفاده: این نود موتور تفکر و تولید متن ربات شما به شمار میرود.
۴. Window Buffer Memory
- وظیفه Node: نگهداری تاریخچه گفتگوهای اخیر کاربر با ربات برای حفظ پیوستگی صحبتها.
- ورودی: شناسه منحصربهفرد چت کاربر و پیامهای رد و بدل شده قبلی.
- خروجی: تاریخچه کوتاه گفتوگو جهت ارسال به مدل زبانی.
- تنظیمات مهم: طول پنجره حافظه روی ۱۰ پیام اخیر تنظیم شده است.
- نکات قابل تغییر: افزایش یا کاهش طول پنجره حافظه متناسب با نیاز و مصرف سهمیه API.
- دلیل استفاده: بدون این نود، ربات در هر پیام گذشته را فراموش کرده و پاسخهای نامرتبط میدهد.
۵. Dall-E 3 Tool
- وظیفه Node: تعریف ابزار اختصاصی تولید عکس برای ایجنت هوشمند جهت استفاده در زمان نیاز.
- ورودی: دستور متنی کاربر برای کشیدن نقاشی و شناسه چت او.
- خروجی: فراخوانی سناریوی تولید تصویر و ارسال اطلاعات به آن.
- تنظیمات مهم: فیلد توضیحات ابزار که به ایجنت میگوید چه زمانی باید این ابزار را اجرا کند.
- نکات قابل تغییر: تغییر نام ابزار یا توضیحات راهنمای آن برای درک بهتر ایجنت.
- دلیل استفاده: اتصال بخش منطقی ایجنت به بخش اجرایی تولید تصویر Dall-E 3.
۶. Telegram
- وظیفه Node: ارسال پاسخ نهایی متنی تولید شده توسط ایجنت به کاربر در تلگرام.
- ورودی: متن خروجی ایجنت و شناسه چت فرستنده پیام.
- خروجی: تاییدیه ارسال پیام در تلگرام یا پیام خطا در صورت شکست عملیات.
- تنظیمات مهم: فعالسازی پارامتر HTML در بخش Parse Mode برای نمایش متون بولد و لینکها.
- نکات قابل تغییر: اضافه کردن دکمههای شیشهای یا غیرفعال کردن پیشنمایش لینکها.
- دلیل استفاده: ارسال خروجی متنی نهایی به پیامرسان تلگرام کاربر.
۷. Correct errors
- وظیفه Node: ارسال مجدد پیام با اصلاح خطاهای احتمالی کاراکترهای نامعتبر HTML تلگرام.
- ورودی: اطلاعات خطای ناشی از نود قبلی ارسال تلگرام.
- خروجی: پیام اصلاح شده حاوی کاراکترهای جایگزین شده امن تلگرام.
- تنظیمات مهم: فرمول جایگزینی کاراکترهای خاص مانند علامتهای بزرگتر و کوچکتر با کدهای استاندارد.
- نکات قابل تغییر: ویرایش فرمولها برای مدیریت کاراکترهای خاص دیگر در تلگرام.
- دلیل استفاده: جلوگیری از متوقف شدن ربات در زمان تولید کدهای برنامهنویسی توسط هوش مصنوعی.
۸. Execute Workflow Trigger
- وظیفه Node: شروع اجرای بخش دوم سناریو (تولید تصویر) هنگام فراخوانی توسط ابزار Dall-E.
- ورودی: اطلاعات ورودی فرستاده شده از سمت نود ابزار Dall-E 3 Tool.
- خروجی: هدایت دادهها به سمت درخواست API شرکت OpenAI.
- تنظیمات مهم: این نود تنظیمات خاصی نداشته و به صورت پیشفرض فعال است.
- نکات قابل تغییر: تنظیم سناریوهای ورودی فرعی دیگر در صورت نیاز به توسعه کاربری.
- دلیل استفاده: ایجاد هماهنگی و ساختار ماژولار در اجرای وظایف سنگین مانند تولید عکس.
۹. Generate image in Dall-E 3
- وظیفه Node: ارسال درخواست مستقیم به سرویس Dall-E برای ساخت عکس جدید.
- ورودی: متن توصیفی تصویر (Prompt) دریافتی از پیام کاربر.
- خروجی: آدرس اینترنتی (URL) فایل تصویری تولید شده توسط هوش مصنوعی.
- تنظیمات مهم: متد POST به آدرس تولید تصویر OpenAI و ابعاد عکس ۱۰۲۴ در ۱۰۲۴ پیکسل.
- نکات قابل تغییر: تغییر ابعاد تصویر یا استفاده از مدل Dall-E 2 برای کاهش هزینه.
- دلیل استفاده: ساخت فیزیکی تصویر بر اساس توصیف متنی ارائه شده توسط کاربر.
۱۰. Send back an image
- وظیفه Node: ارسال تصویر ساخته شده به چت کاربر درخواستکننده در تلگرام.
- ورودی: لینک تصویر تولید شده و شناسه چت متناظر کاربر.
- خروجی: تاییدیه ارسال موفقیتآمیز تصویر در تلگرام.
- تنظیمات مهم: تغییر نوع عملیات به sendPhoto و آدرسدهی دقیق فایل ورودی.
- نکات قابل تغییر: امکان افزودن متن کپشن به تصویر ارسالی در تلگرام.
- دلیل استفاده: نمایش تصویر نهایی تولید شده به کاربر درخواستکننده در تلگرام.
۱۱. add response field
- وظیفه Node: بازگرداندن وضعیت موفقیتآمیز بودن عملیات تولید تصویر به ایجنت.
- ورودی: تاییدیه ارسال موفقیتآمیز تصویر از نود قبلی.
- خروجی: مقدار متنی Success جهت اعلام خاتمه کار به سیستم هوش مصنوعی.
- تنظیمات مهم: مقداردهی فیلد response با مقدار متنی ثابت Success.
- نکات قابل تغییر: افزودن اطلاعات تکمیلی زمان انجام کار در خروجی این نود.
- دلیل استفاده: بستن چرخه پردازشی ابزار و مطلع کردن ایجنت از پایان فرآیند تولید تصویر.
نحوه شخصیسازی Workflow
ربات تلگرام هوشمند با n8n
برای شخصیسازی بخشهای متنی و عملکردی ربات، ابتدا به نود AI Agent مراجعه کنید. در قسمت System Message میتوانید نقش ربات را به یک مشاور املاک، کارشناس فروش یا مترجم زبان تغییر دهید. با این کار جهتگیری پاسخهای ربات کاملاً دگرگون خواهد شد.
برای تغییر مدل هوش مصنوعی، نود OpenAI Chat Model را باز کنید. در بخش Model میتوانید آن را روی گزینههای سری GPT-4o قرار دهید تا پاسخها سریعتر و ارزانتر تولید شوند. همچنین پارامتر Temperature را برای دریافت پاسخهای دقیقتر، روی مقادیر کمتر تنظیم کنید.
در نهایت برای بهینهسازی تولید تصویر، به نود Generate image in Dall-E 3 بروید. شما میتوانید ابعاد تصاویر خروجی را به حالتهای مستطیلی تغییر دهید. همچنین در نود Dall-E 3 Tool میتوانید محدودیتی اعمال کنید تا فقط کاربران خاصی اجازه تولید عکس داشته باشند.
مزایای ساخت ربات تلگرام هوشمند با n8n
ربات تلگرام هوشمند با n8n
- عدم نیاز به سرورهای گرانقیمت: اجرای روان ربات با حداقل منابع سختافزاری به دلیل میزبانی ابری سرویسها.
- پشتیبانی از فرمتهای متنی غنی: ارسال خروجیها با فرمت HTML جهت خوانایی بهتر متون و کدها.
- پایداری بالای هوش مصنوعی: استفاده از کتابخانه استاندارد LangChain برای هماهنگی نودها.
- حافظه فعال گفتوگو: امکان ادامه صحبت با ربات بدون از دست رفتن سررشته کلام قبلی.
- تولید عکس چندرسانهای: دسترسی همزمان به قابلیتهای متنی و تصویری در یک محیط واحد تلگرامی.
- سیستم خودکار رفع خطا: طراحی هوشمندانه نودهای جایگزین برای جلوگیری از کرش کردن ربات.
نکات مهم
ربات تلگرام هوشمند با n8n
- کلیدهای API خود را در محیطهای عمومی یا گیتهاب به اشتراک نگذارید.
- برای استفاده پایدار، حتماً از وبهوکهای امن با پروتکل HTTPS استفاده کنید.
- هزینه فراخوانی APIهای Dall-E 3 بسیار بالاتر از مدلهای متنی است؛ مصرف آن را مدیریت کنید.
- تلگرام محدودیتهایی برای ارسال کاراکترهای خاص در قالب HTML دارد که باید رعایت شوند.
- حافظه موقت ربات با بازنشانی یا ارتقای کانتینر n8n ممکن است پاک شود.
- برای سرعت بیشتر ربات، میتوانید سرور n8n را در موقعیتهای جغرافیایی نزدیکتر به سرورهای تلگرام مستقر کنید.
- مطمئن شوید حساب OpenAI شما شارژ اعتباری کافی برای پاسخگویی به کاربران را دارد.
- استفاده همزمان تعداد زیادی از کاربران ممکن است باعث ایجاد تاخیر در پاسخدهی ربات شود.
خطاهای رایج (Troubleshooting)
ربات تلگرام هوشمند با n8n
۱. خطای BadRequest: can’t parse entities
- علت: وجود کاراکترهای نامشخص یا تگهای HTML بسته نشده در متن ارسالی هوش مصنوعی.
- راهحل: مطمئن شوید نود Correct errors به درستی پس از نود اصلی تلگرام متصل شده باشد.
۲. خطای Unauthorized (401) در نودهای OpenAI
- علت: نامعتبر بودن یا انقضای کلید API وارد شده برای حساب کاربری OpenAI.
- راهحل: یک کلید جدید در پنل کاربری OpenAI ساخته و آن را در بخش Credentials بهروزرسانی کنید.
۳. عدم کارکرد Webhook تلگرام
- علت: مسدود بودن پورتهای ورودی سرور n8n یا عدم پشتیبانی از پروتکل امن SSL.
- راهحل: از گواهیهای معتبر SSL استفاده کرده و پورتهای مربوط به ارتباطات ورودی را بررسی کنید.
۴. خطای Rate Limit در تولید تصاویر
- علت: ارسال درخواستهای مکرر و پشت سر هم تولید عکس توسط کاربران ربات.
- راهحل: در نود ایجنت محدودیتهای زمانی برای فراخوانی ابزار تولید تصویر توسط کاربران اعمال کنید.
۵. پاک شدن ناگهانی حافظه ربات
- علت: تغییر شناسه چت کاربر یا ایجاد اختلال در پردازش کلید جلسه (Session Key).
- راهحل: مطمئن شوید عبارت تولید کننده کلید جلسه در نود حافظه دستخوش تغییر ساختاری نشده باشد.
جمعبندی
ربات تلگرام هوشمند با n8n
پروژههای اتوماسیون با تکیه بر ابزار n8n به سادهترین شکل ممکن قابل پیادهسازی هستند. ساخت ربات تلگرام هوشمند با n8n نمونهای عالی از ترکیب ابزارهای بدون کدنویسی با قدرت بیپایان هوش مصنوعی مولد است. شما توانستید یک سیستم پاسخدهی خودکار متنی و تصویری را بدون درگیر شدن با کدهای پیچیده برنامهنویسی راهاندازی کنید.
این سیستم با داشتن حافظه گفتوگو و قابلیت استفاده از ابزار تصویرساز Dall-E 3، فراتر از یک ربات ساده عمل میکند. پتانسیلهای شخصیسازی این سناریو به شما اجازه میدهد تا آن را به هر نوع دستیار تخصصی تبدیل کنید. پیشنهاد میکنیم با تغییر پرامپتها و مدلهای زبانی، خروجیهای بهینهتری متناسب با کسبوکار خود بسازید.
سوالات متداول
ربات تلگرام هوشمند با n8n
آیا ساخت ربات تلگرام هوشمند با n8n هزینه دارد؟
ابزار n8n به صورت منبع باز رایگان است اما برای استفاده از مدلهای OpenAI باید هزینه استفاده از API را بپردازید.
آیا میتوان این ربات را در گروههای تلگرامی نیز استفاده کرد؟
بله، با اضافه کردن ربات به گروه و تنظیم دسترسیهای خواندن پیام، ربات میتواند در گروهها نیز فعال باشد.
چگونه میتوان مدلهای رایگان را جایگزین OpenAI کرد؟
میتوانید نودهای متصل به مدلهای متنباز مثل Llama را از طریق ارائهدهندگانی مانند Groq جایگزین نود OpenAI کنید.
حافظه موقت ربات تا چه زمانی پیامها را ذخیره نگه میدارد؟
این موضوع بستگی به تعداد پیامهای مشخصشده در نود حافظه دارد که به طور پیشفرض روی ۱۰ پیام آخر تنظیم شده است.
چرا تصاویر ارسالی ربات گاهی دانلود نمیشوند؟
لینکهای تولید شده توسط Dall-E محدودیت زمانی دارند و باید ربات سریعاً آنها را دانلود و در تلگرام آپلود کند.


