وبلاگ
ساخت رباتهای کاربردی با n8n: تلگرام، واتساپ و بیشتر
فهرست مطالب
“تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”
"تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"
"با شرکت در این دوره جامع و کاربردی، به راحتی مهارتهای برنامهنویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر میسازد تا به سرعت الگوریتمهای پیچیده را درک کرده و اپلیکیشنهای هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفهای و امکان دانلود و تماشای آنلاین."
ویژگیهای کلیدی:
بدون نیاز به تجربه قبلی برنامهنویسی
زیرنویس فارسی با ترجمه حرفهای
۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان
0 تا 100 عطرسازی + (30 فرمولاسیون اختصاصی حامی صنعت)
دوره فوق فشرده مکالمه زبان انگلیسی (ویژه بزرگسالان)
شمع سازی و عودسازی با محوریت رایحه درمانی
صابون سازی (دستساز و صنعتی)
صفر تا صد طراحی دارو
متخصص طب سنتی و گیاهان دارویی
متخصص کنترل کیفی شرکت دارویی
“`html
ساخت رباتهای کاربردی با n8n: تلگرام، واتساپ و بیشتر
در دنیای امروز، اتوماسیون به یکی از ضروریترین ابزارها برای افزایش بهرهوری و کاهش هزینهها تبدیل شده است. n8n، یک پلتفرم اتوماسیون گردش کار قدرتمند و منبع باز است که به شما امکان میدهد بدون نیاز به کدنویسی پیچیده، رباتهای کاربردی برای پلتفرمهای مختلف مانند تلگرام، واتساپ و سایر سرویسها ایجاد کنید. این مقاله به بررسی جامع n8n، نحوه استفاده از آن برای ساخت رباتهای متنوع و مزایای آن میپردازد.
n8n چیست و چرا باید از آن استفاده کنیم؟
n8n یک پلتفرم اتوماسیون گردش کار است که به کاربران اجازه میدهد با استفاده از یک رابط کاربری گرافیکی (GUI)، گردش کارهای پیچیده را طراحی و اجرا کنند. برخلاف سایر ابزارهای اتوماسیون که اغلب محدود به اکوسیستم خاصی هستند، n8n به شما این امکان را میدهد که با صدها سرویس مختلف ارتباط برقرار کنید و دادهها را بین آنها منتقل کنید.
مزایای استفاده از n8n:
- منبع باز و رایگان: n8n یک پلتفرم منبع باز است که به شما اجازه میدهد به صورت رایگان از آن استفاده کنید. همچنین میتوانید کد منبع آن را تغییر دهید و مطابق با نیازهای خود سفارشیسازی کنید.
- رابط کاربری گرافیکی (GUI): طراحی گردش کار در n8n با استفاده از یک رابط کاربری گرافیکی بصری بسیار ساده و آسان است. شما میتوانید به راحتی گرهها (Nodes) را به یکدیگر متصل کنید و منطق گردش کار خود را تعریف کنید.
- پشتیبانی از سرویسهای متنوع: n8n از صدها سرویس مختلف مانند تلگرام، واتساپ، ایمیل، پایگاه دادهها، CRMها و غیره پشتیبانی میکند. این به شما امکان میدهد رباتهایی ایجاد کنید که با تمام ابزارهای مورد استفاده شما تعامل داشته باشند.
- قابلیت میزبانی شخصی (Self-hosting): شما میتوانید n8n را بر روی سرور خود میزبانی کنید و کنترل کاملی بر دادههای خود داشته باشید.
- جامعه فعال: n8n دارای یک جامعه فعال از کاربران و توسعهدهندگان است که میتوانند در حل مشکلات و ارائه راهکارها به شما کمک کنند.
- انعطافپذیری بالا: n8n به شما این امکان را میدهد که گردش کارهای پیچیده و سفارشی را طراحی کنید و مطابق با نیازهای خاص خود، آنها را پیکربندی کنید.
- قابلیت گسترشپذیری: شما میتوانید گرههای سفارشی (Custom Nodes) خود را ایجاد کنید و قابلیتهای n8n را گسترش دهید.
مفاهیم کلیدی در n8n
برای استفاده مؤثر از n8n، درک برخی مفاهیم کلیدی ضروری است:
- Workflow (گردش کار): یک Workflow مجموعهای از گرهها است که به صورت متوالی یا موازی به یکدیگر متصل شدهاند و یک فرایند خاص را انجام میدهند.
- Node (گره): یک Node یک واحد سازنده در یک Workflow است که یک عمل خاص را انجام میدهد. به عنوان مثال، یک Node میتواند یک پیام را به تلگرام ارسال کند، دادهها را از یک API دریافت کند یا یک شرط را بررسی کند.
- Trigger (محرک): یک Trigger یک Node است که یک Workflow را آغاز میکند. به عنوان مثال، یک Trigger میتواند یک پیام جدید در تلگرام، یک رویداد در یک وبسایت یا یک زمانبندی مشخص باشد.
- Credentials (اعتبارسنجی): Credentials اطلاعاتی هستند که برای احراز هویت در یک سرویس خاص مورد نیاز هستند. به عنوان مثال، برای اتصال به تلگرام، شما به یک توکن (Token) نیاز دارید.
- Expression (عبارت): یک Expression یک قطعه کد جاوااسکریپت است که میتواند برای انجام محاسبات، دستکاری دادهها یا تعیین مسیر گردش کار استفاده شود.
- Environment Variables (متغیرهای محیطی): متغیرهای محیطی مقادیری هستند که میتوانند در Workflowها استفاده شوند و مقادیر آنها در زمان اجرا تغییر کند.
نصب و راهاندازی n8n
برای شروع کار با n8n، ابتدا باید آن را نصب و راهاندازی کنید. n8n را میتوان به روشهای مختلفی نصب کرد، از جمله:
- Docker: نصب با استفاده از Docker سادهترین و سریعترین راه برای شروع کار با n8n است.
- npm: اگر Node.js و npm را بر روی سیستم خود نصب کردهاید، میتوانید n8n را با استفاده از npm نصب کنید.
- Cloud: میتوانید از یک سرویس ابری مانند n8n Cloud استفاده کنید که n8n را برای شما میزبانی میکند.
نصب با استفاده از Docker:
- نصب Docker: اگر Docker را بر روی سیستم خود نصب نکردهاید، ابتدا باید آن را نصب کنید. دستورالعملهای نصب Docker را میتوانید در وبسایت Docker پیدا کنید.
- ایجاد یک دایرکتوری برای n8n: یک دایرکتوری جدید برای n8n ایجاد کنید. به عنوان مثال:
mkdir n8n
cd n8n
- ایجاد یک فایل docker-compose.yml: یک فایل به نام
docker-compose.yml
در دایرکتوری ایجاد شده ایجاد کنید و محتوای زیر را در آن قرار دهید:version: "3.7" services: n8n: image: n8nio/n8n restart: always ports: - "5678:5678" volumes: - ./data:/home/node/.n8n environment: - N8N_HOST=localhost - N8N_PORT=5678 - N8N_PROTOCOL=http - NODE_ENV=production
- اجرای docker-compose: در ترمینال، به دایرکتوری n8n بروید و دستور زیر را اجرا کنید:
docker-compose up -d
- دسترسی به n8n: پس از اجرای دستور بالا، n8n در آدرس
http://localhost:5678
قابل دسترسی خواهد بود.
ساخت ربات تلگرام با n8n
یکی از کاربردهای اصلی n8n، ساخت رباتهای تلگرام است. با استفاده از n8n میتوانید رباتهایی ایجاد کنید که به پیامهای کاربران پاسخ دهند، اطلاعات را از منابع مختلف جمعآوری کنند و وظایف مختلف را به صورت خودکار انجام دهند.
مراحل ساخت ربات تلگرام:
- دریافت توکن تلگرام (Telegram Bot Token): برای شروع، به یک توکن تلگرام نیاز دارید. برای دریافت توکن، باید یک ربات جدید در تلگرام ایجاد کنید و توکن آن را دریافت کنید.
- ایجاد یک Workflow جدید در n8n: در رابط کاربری n8n، یک Workflow جدید ایجاد کنید.
- افزودن Trigger تلگرام: یک Trigger تلگرام (Telegram Trigger) به Workflow خود اضافه کنید. این Trigger به پیامهای جدید در ربات تلگرام شما گوش میدهد.
- پیکربندی Trigger تلگرام: توکن تلگرام خود را در تنظیمات Trigger تلگرام وارد کنید. همچنین میتوانید نوع رویدادهایی که Trigger به آنها گوش میدهد را مشخص کنید (مثلاً پیامهای متنی، دستورات، و غیره).
- افزودن Node پاسخ تلگرام: یک Node پاسخ تلگرام (Telegram Send Message) به Workflow خود اضافه کنید. این Node برای ارسال پیام به کاربران تلگرام استفاده میشود.
- پیکربندی Node پاسخ تلگرام: شناسه چت (Chat ID) کاربری که میخواهید به او پاسخ دهید و متن پیامی که میخواهید ارسال کنید را در تنظیمات Node پاسخ تلگرام وارد کنید.
- اتصال Nodeها: Trigger تلگرام را به Node پاسخ تلگرام متصل کنید.
- آزمایش Workflow: Workflow خود را فعال کنید و با ارسال یک پیام به ربات تلگرام خود، آن را آزمایش کنید.
مثال: ربات پاسخگو به دستورات
در این مثال، یک ربات تلگرام ایجاد میکنیم که به دستورات خاص پاسخ میدهد. به عنوان مثال، اگر کاربر دستور /start
را ارسال کند، ربات پیام “سلام! خوش آمدید.” را ارسال میکند.
- ایجاد Workflow: یک Workflow جدید در n8n ایجاد کنید.
- افزودن Telegram Trigger: یک Telegram Trigger به Workflow اضافه کنید و توکن ربات تلگرام خود را وارد کنید.
- افزودن IF Node: یک IF Node به Workflow اضافه کنید. این Node برای بررسی دستورات ارسال شده توسط کاربر استفاده میشود.
- پیکربندی IF Node: در تنظیمات IF Node، شرطی را تعریف کنید که بررسی کند آیا متن پیام ارسالی توسط کاربر برابر با
/start
است یا خیر. - افزودن Telegram Send Message Node (برای دستور /start): یک Telegram Send Message Node به خروجی “True” از IF Node اضافه کنید. این Node پیام “سلام! خوش آمدید.” را به کاربر ارسال میکند.
- افزودن Telegram Send Message Node (برای سایر دستورات): یک Telegram Send Message Node به خروجی “False” از IF Node اضافه کنید. این Node پیام “دستور نامعتبر است.” را به کاربر ارسال میکند.
- اتصال Nodeها: Telegram Trigger را به IF Node، و سپس IF Node را به Telegram Send Message Nodeها متصل کنید.
- فعالسازی Workflow: Workflow خود را فعال کنید و با ارسال دستورات
/start
و سایر دستورات به ربات تلگرام خود، آن را آزمایش کنید.
ساخت ربات واتساپ با n8n
ساخت ربات واتساپ با n8n کمی پیچیدهتر از تلگرام است، زیرا واتساپ API رسمی برای رباتها ارائه نمیکند. با این حال، با استفاده از Twilio API یا سایر سرویسهای مشابه، میتوانید رباتهای واتساپ را با n8n ایجاد کنید.
مراحل ساخت ربات واتساپ:
- ثبتنام در Twilio: در وبسایت Twilio ثبتنام کنید و یک حساب کاربری ایجاد کنید.
- دریافت شماره تلفن Twilio: یک شماره تلفن Twilio خریداری کنید. این شماره تلفن برای ارسال و دریافت پیامهای واتساپ استفاده خواهد شد.
- فعالسازی WhatsApp Sandbox: WhatsApp Sandbox را در حساب Twilio خود فعال کنید.
- ایجاد یک Workflow جدید در n8n: در رابط کاربری n8n، یک Workflow جدید ایجاد کنید.
- افزودن Trigger Webhook: یک Trigger Webhook به Workflow خود اضافه کنید. این Trigger به پیامهای جدیدی که از طریق Twilio به وبهوک شما ارسال میشوند گوش میدهد.
- پیکربندی Trigger Webhook: یک URL برای Webhook خود تعیین کنید و آن را در تنظیمات WhatsApp Sandbox در Twilio وارد کنید.
- افزودن Twilio Node: یک Twilio Node به Workflow خود اضافه کنید. این Node برای ارسال پیام به کاربران واتساپ استفاده میشود.
- پیکربندی Twilio Node: اطلاعات حساب Twilio خود (Account SID و Auth Token) و شماره تلفن Twilio خود را در تنظیمات Twilio Node وارد کنید. همچنین شناسه کاربری که میخواهید به او پاسخ دهید و متن پیامی که میخواهید ارسال کنید را مشخص کنید.
- اتصال Nodeها: Trigger Webhook را به Twilio Node متصل کنید.
- آزمایش Workflow: Workflow خود را فعال کنید و با ارسال یک پیام به شماره تلفن Twilio خود، آن را آزمایش کنید.
مثال: ربات پاسخگو به کلمات کلیدی
در این مثال، یک ربات واتساپ ایجاد میکنیم که به کلمات کلیدی خاص پاسخ میدهد. به عنوان مثال، اگر کاربر کلمه “سلام” را ارسال کند، ربات پیام “سلام! روز بخیر.” را ارسال میکند.
- ایجاد Workflow: یک Workflow جدید در n8n ایجاد کنید.
- افزودن Webhook Trigger: یک Webhook Trigger به Workflow اضافه کنید و URL آن را در تنظیمات WhatsApp Sandbox در Twilio وارد کنید.
- افزودن Function Node: یک Function Node به Workflow اضافه کنید. این Node برای استخراج متن پیام از دادههای دریافتی از Twilio استفاده میشود.
- پیکربندی Function Node: کد زیر را در Function Node وارد کنید:
const body = $json.Body; return [{json: {text: body}}];
- افزودن IF Node: یک IF Node به Workflow اضافه کنید. این Node برای بررسی کلمات کلیدی ارسال شده توسط کاربر استفاده میشود.
- پیکربندی IF Node: در تنظیمات IF Node، شرطی را تعریف کنید که بررسی کند آیا متن پیام ارسالی توسط کاربر شامل کلمه “سلام” است یا خیر.
- افزودن Twilio Node (برای کلمه “سلام”): یک Twilio Node به خروجی “True” از IF Node اضافه کنید. این Node پیام “سلام! روز بخیر.” را به کاربر ارسال میکند.
- افزودن Twilio Node (برای سایر پیامها): یک Twilio Node به خروجی “False” از IF Node اضافه کنید. این Node پیام “متوجه نشدم.” را به کاربر ارسال میکند.
- اتصال Nodeها: Webhook Trigger را به Function Node، سپس Function Node را به IF Node، و سپس IF Node را به Twilio Nodeها متصل کنید.
- فعالسازی Workflow: Workflow خود را فعال کنید و با ارسال پیامهای حاوی کلمه “سلام” و سایر پیامها به شماره تلفن Twilio خود، آن را آزمایش کنید.
ادغام n8n با سایر سرویسها
یکی از نقاط قوت n8n، قابلیت ادغام آن با سایر سرویسها است. با استفاده از n8n میتوانید گردش کارهایی ایجاد کنید که با سرویسهای مختلف ارتباط برقرار کنند و دادهها را بین آنها منتقل کنند. برخی از سرویسهایی که میتوانید با n8n ادغام کنید عبارتند از:
- Google Sheets: میتوانید دادهها را از Google Sheets بخوانید، در Google Sheets بنویسید و گزارشهای خودکار ایجاد کنید.
- Gmail: میتوانید ایمیلها را به صورت خودکار ارسال کنید، ایمیلهای دریافتی را پردازش کنید و پاسخهای خودکار ارسال کنید.
- Airtable: میتوانید دادهها را از Airtable بخوانید، در Airtable بنویسید و برنامههای خودکار ایجاد کنید.
- Slack: میتوانید پیامها را به کانالهای Slack ارسال کنید، پیامهای دریافتی را پردازش کنید و هشدارهای خودکار ایجاد کنید.
- Databases (MySQL, PostgreSQL, MongoDB): میتوانید دادهها را از پایگاه دادهها بخوانید، در پایگاه دادهها بنویسید و عملیات مختلف را بر روی دادهها انجام دهید.
- CRMs (Salesforce, HubSpot): میتوانید دادهها را از CRMها بخوانید، در CRMها بنویسید و فرایندهای فروش و بازاریابی خود را خودکار کنید.
مثال: ارسال ایمیل خوشآمدگویی با استفاده از Gmail و Google Sheets
در این مثال، یک گردش کار ایجاد میکنیم که اطلاعات کاربران جدید را از Google Sheets میخواند و یک ایمیل خوشآمدگویی با استفاده از Gmail برای آنها ارسال میکند.
- ایجاد Google Sheet: یک Google Sheet ایجاد کنید و اطلاعات کاربران جدید (مانند نام، ایمیل و غیره) را در آن وارد کنید.
- ایجاد Workflow: یک Workflow جدید در n8n ایجاد کنید.
- افزودن Google Sheets Node: یک Google Sheets Node به Workflow اضافه کنید و اطلاعات کاربری Google خود را وارد کنید.
- پیکربندی Google Sheets Node: شناسه Google Sheet و نام صفحهای که اطلاعات کاربران در آن قرار دارد را در تنظیمات Google Sheets Node وارد کنید.
- افزودن Gmail Node: یک Gmail Node به Workflow اضافه کنید و اطلاعات کاربری Gmail خود را وارد کنید.
- پیکربندی Gmail Node: آدرس ایمیل فرستنده، آدرس ایمیل گیرنده (که از Google Sheets خوانده میشود)، موضوع ایمیل و متن ایمیل را در تنظیمات Gmail Node وارد کنید.
- اتصال Nodeها: Google Sheets Node را به Gmail Node متصل کنید.
- فعالسازی Workflow: Workflow خود را فعال کنید. n8n به صورت خودکار اطلاعات کاربران جدید را از Google Sheets میخواند و یک ایمیل خوشآمدگویی برای آنها ارسال میکند.
بهترین روشها برای استفاده از n8n
برای استفاده مؤثر از n8n و ایجاد گردش کارهای کارآمد، رعایت برخی از بهترین روشها ضروری است:
- برنامهریزی دقیق: قبل از شروع طراحی یک Workflow، نیازهای خود را به دقت بررسی کنید و یک برنامه دقیق برای گردش کار خود تهیه کنید.
- استفاده از نامهای معنادار: به گرهها و Workflowهای خود نامهای معنادار بدهید تا بتوانید آنها را به راحتی شناسایی کنید و مدیریت کنید.
- کامنتگذاری: در مورد گرهها و Workflowهای خود کامنت بگذارید تا منطق آنها را برای خود و دیگران توضیح دهید.
- آزمایش منظم: Workflowهای خود را به صورت منظم آزمایش کنید تا از عملکرد صحیح آنها اطمینان حاصل کنید.
- استفاده از متغیرهای محیطی: برای ذخیره اطلاعات حساس مانند رمز عبور و توکنها، از متغیرهای محیطی استفاده کنید.
- مدیریت خطا: مکانیزمهای مدیریت خطا را در Workflowهای خود پیادهسازی کنید تا در صورت بروز خطا، از توقف گردش کار جلوگیری کنید.
- بهینهسازی: Workflowهای خود را بهینهسازی کنید تا از مصرف بیش از حد منابع جلوگیری کنید.
نتیجهگیری
n8n یک ابزار قدرتمند و انعطافپذیر برای اتوماسیون گردش کارها است که به شما امکان میدهد بدون نیاز به کدنویسی پیچیده، رباتهای کاربردی برای پلتفرمهای مختلف ایجاد کنید. با استفاده از n8n میتوانید فرایندهای خود را خودکار کنید، بهرهوری خود را افزایش دهید و در زمان و هزینه صرفهجویی کنید. این مقاله به شما یک دید کلی از n8n و قابلیتهای آن ارائه داد و شما را با نحوه استفاده از آن برای ساخت رباتهای تلگرام، واتساپ و ادغام با سایر سرویسها آشنا کرد. امیدواریم این مقاله برای شما مفید بوده باشد.
“`
“تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”
"تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"
"با شرکت در این دوره جامع و کاربردی، به راحتی مهارتهای برنامهنویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر میسازد تا به سرعت الگوریتمهای پیچیده را درک کرده و اپلیکیشنهای هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفهای و امکان دانلود و تماشای آنلاین."
ویژگیهای کلیدی:
بدون نیاز به تجربه قبلی برنامهنویسی
زیرنویس فارسی با ترجمه حرفهای
۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان