سی ام اس نویسسی ام اس نویسیاد بگیر، سیستم خودتو بنویس
مجلهتماس با ما
سی ام اس نویسسی ام اس نویس

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

پیوندهای سریع
محصولات فیزیکیمحصولات دیجیتالدوره‌های آموزشی
سی ام اس نویس
مجله سی ام اس نویستماس با ماپنل کاربری
سی ام اس نویس — تمامی حقوق برای سی ام اس نویس محفوظ است. © 1406 تماس با ما09307711941
آموزش ساخت ربات پشتیبانی تلگرام با n8n؛ دریافت و پیگیری پیام کاربران

آموزش ساخت ربات پشتیبانی تلگرام با n8n؛ دریافت و پیگیری پیام کاربران

ممدیر کل سیستم ۱ آبان ۱۴۰۵ ۱۲ دقیقه مطالعه ۱ بازدید
آموزش ساخت ربات پشتیبانی تلگرام با n8n؛ دریافت و پیگیری پیام کاربران

اگر برای کسب‌وکار، فروشگاه اینترنتی یا خدمات آنلاین خود از تلگرام استفاده می‌کنید، احتمالاً کاربران سؤال‌ها و مشکلاتشان را از طریق پیام برای شما ارسال می‌کنند. پاسخ‌دادن دستی به همه پیام‌ها، به‌خصوص زمانی که تعداد مشتریان افزایش پیدا می‌کند، می‌تواند زمان‌بر باشد و باعث شود بعضی درخواست‌ها فراموش شوند.

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

در این آموزش یک نمونه کاربردی می‌سازیم که بتواند:

  • با دستور /start به کاربر خوشامد بگوید.
  • روش ارسال درخواست پشتیبانی را توضیح دهد.
  • پیام‌های کاربر را دریافت کند.
  • پیام و مشخصات اولیه فرستنده را برای مدیر ارسال کند.
  • پاسخ‌های اولیه را به‌صورت خودکار نمایش دهد.

این نسخه یک سیستم ساده دریافت درخواست است. در ادامه مقاله توضیح می‌دهیم برای تبدیل آن به سیستم تیکتینگ کامل، چه قابلیت‌هایی باید اضافه کنید.

ربات پشتیبانی تلگرام با n8n چگونه کار می‌کند؟

جریان کار ربات به این صورت است:

  1. کاربر وارد ربات تلگرام می‌شود.
  2. ربات پیام خوشامدگویی و راهنمای استفاده را نمایش می‌دهد.
  3. کاربر مشکل یا سؤال خود را ارسال می‌کند.
  4. n8n پیام را دریافت و اطلاعات فرستنده را استخراج می‌کند.
  5. درخواست برای مدیر یا گروه پشتیبانی ارسال می‌شود.
  6. تیم پشتیبانی درخواست را بررسی می‌کند و از طریق فرایند پاسخ‌گویی تعیین‌شده با کاربر ارتباط می‌گیرد.

نمای کلی Workflow:


Telegram Trigger

       |

       v

      Switch

       |

       +---- /start ------> پیام خوشامدگویی

       |

       +---- /help -------> راهنمای پشتیبانی

       |

       +---- پیام کاربر --> ارسال درخواست به مدیر

                                  |

                                  v

                           بررسی توسط پشتیبان

برای اجرای این آموزش به یک ربات تلگرام، یک نمونه فعال n8n و دسترسی ساخت Workflow نیاز دارید.

مرحله اول: ساخت ربات تلگرام

اگر از قبل ربات تلگرام دارید، می‌توانید از همان استفاده کنید. در غیر این صورت، مراحل زیر را انجام دهید:

  1. در تلگرام حساب رسمی @BotFather را باز کنید.
  2. دستور /newbot را ارسال کنید.
  3. نام نمایشی ربات را وارد کنید.
  4. یک نام کاربری یکتا انتخاب کنید که به bot ختم شود.
  5. توکن دریافتی را در محل امن نگه دارید.

توکن ربات اطلاعات محرمانه است. آن را در کد عمومی یا متن پیام‌های قابل مشاهده برای کاربران قرار ندهید.

اگر برای اولین بار با این فرایند کار می‌کنید، مقاله «آموزش ساخت ربات تلگرام با n8n؛ از BotFather تا اتصال به Workflow» را نیز مطالعه کنید.

مرحله دوم: اتصال ربات به n8n

وارد n8n شوید و یک Workflow جدید ایجاد کنید.

یک Node از نوع Telegram Trigger به Workflow اضافه کنید. این Node پیام‌های دریافتی ربات را به n8n منتقل می‌کند.

در قسمت Credentials، اتصال تلگرام را با استفاده از توکن ربات ایجاد یا انتخاب کنید. سپس نوع رویداد دریافتی را روی پیام‌ها (Message) تنظیم کنید.

حالا Workflow را برای آزمایش اجرا کنید و یک پیام ساده از تلگرام به ربات بفرستید.

اگر اتصال درست باشد، خروجی Telegram Trigger شامل اطلاعات پیام دریافتی خواهد بود. ساختار داده واقعی را از خروجی اجرای خودتان بررسی کنید؛ در بسیاری از پیام‌های متنی، اطلاعات موردنیاز در مسیرهایی مانند این قرار دارند:


{{ $json.message.text }}

برای متن پیام و:


{{ $json.message.chat.id }}

برای شناسه گفت‌وگویی که پیام از آن دریافت شده است.

این شناسه در پاسخ‌دادن به همان کاربر کاربرد دارد.

مرحله سوم: تشخیص دستورهای کاربر

بعد از Telegram Trigger، یک Node از نوع Switch اضافه کنید.

هدف Switch این است که پیام‌های مشخص مانند /start و /help را از پیام‌های معمولی کاربران جدا کند.

مقدار ورودی را با Expression زیر مشخص کنید:


{{ $json.message.text }}

سپس قوانین زیر را ایجاد کنید:

مقدار پیامعملکرد
/startنمایش پیام خوشامدگویی
/helpنمایش راهنمای پشتیبانی

اگر Switch در نسخه شما امکان خروجی جایگزین (Fallback Output) دارد، آن را برای پیام‌هایی تنظیم کنید که با این دو دستور مطابقت ندارند. این مسیر برای دریافت درخواست‌های عادی کاربران استفاده خواهد شد.

نکته: این تنظیمات برای پیام‌های متنی است. اگر می‌خواهید عکس، فایل صوتی یا سند نیز دریافت کنید، باید نوع پیام و مسیرهای مربوط به آن‌ها را جداگانه مدیریت کنید.

مرحله چهارم: ساخت پیام خوشامدگویی

از خروجی مربوط به /start یک Node از نوع Telegram اضافه کنید و عملیات ارسال پیام متنی را انتخاب کنید.

در فیلد Chat ID این Expression را قرار دهید:


{{ $json.message.chat.id }}

در فیلد Text نیز متن زیر را وارد کنید:


سلام! به سامانه پشتیبانی خوش آمدید.



برای دریافت راهنمایی، مشکل یا سؤال خود را در قالب یک پیام ارسال کنید.



کارشناس پشتیبانی درخواست شما را بررسی خواهد کرد.



برای مشاهده راهنمای استفاده، دستور /help را ارسال کنید.

حالا Workflow را اجرا کنید و در تلگرام دستور /start را بفرستید. ربات باید پیام خوشامدگویی را به همان گفت‌وگو ارسال کند.

مرحله پنجم: ساخت راهنمای پشتیبانی

از خروجی /help در Switch، یک Telegram Node دیگر بسازید.

در فیلد Chat ID همان Expression قبلی را قرار دهید:


{{ $json.message.chat.id }}

متن راهنما می‌تواند به این صورت باشد:


راهنمای پشتیبانی



1. مشکل یا سؤال خود را در یک پیام واضح بنویسید.

2. در صورت نیاز، شماره سفارش یا شناسه سرویس را ارسال کنید.

3. از ارسال رمز عبور و اطلاعات حساس خودداری کنید.

4. منتظر بررسی درخواست توسط تیم پشتیبانی بمانید.



برای شروع مجدد، دستور /start را ارسال کنید.

می‌توانید این متن را بر اساس نوع کسب‌وکار خود تغییر دهید. برای مثال، اگر پشتیبانی مربوط به یک سرویس آنلاین است، می‌توانید از کاربر بخواهید شناسه سرویس یا شماره سفارش را ارسال کند.

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

اکنون باید پیام‌هایی را که دستور /start یا /help نیستند، به مسیر درخواست پشتیبانی هدایت کنید.

از خروجی جایگزین Switch استفاده کنید و یک Telegram Node به آن متصل کنید. در این مرحله، هدف این نیست که فوراً به همه پیام‌ها پاسخ ثابت بدهیم؛ بلکه باید پیام کاربر را به تیم پشتیبانی اطلاع دهیم.

برای ارسال پیام به مدیر، فیلد Chat ID را با شناسه گفت‌وگوی مدیر یا گروه پشتیبانی پر کنید. این شناسه باید از قبل مشخص شده باشد؛ شناسه مشتری را در این فیلد قرار ندهید.

در فیلد Text می‌توانید از یک قالب مشابه نمونه زیر استفاده کنید:


درخواست جدید پشتیبانی



شناسه گفت‌وگوی کاربر:

{{ $json.message.chat.id }}



نام:

{{ $json.message.from.first_name }}



نام کاربری:

{{ $json.message.from.username || "ثبت نشده" }}



متن درخواست:

{{ $json.message.text }}

این Expressionها برای پیام متنی معمولی نوشته شده‌اند. قبل از فعال‌کردن Workflow، خروجی واقعی Telegram Trigger را بررسی کنید تا مطمئن شوید فیلدهای استفاده‌شده در داده ورودی وجود دارند.

اگر درخواست‌ها باید در یک گروه ارسال شوند، ابتدا ربات را به گروه اضافه کنید و مطمئن شوید مجوز ارسال پیام دارد. سپس یک پیام آزمایشی بفرستید و شناسه مقصد را از داده‌های دریافتی یا روش مناسب نسخه تلگرام خود استخراج کنید.

نکته مهم: در این مرحله، پیام برای مدیر ارسال می‌شود؛ این کار به‌تنهایی یک تیکت دائمی ایجاد نمی‌کند و امکان پاسخ خودکار مدیر به همان کاربر را نیز فراهم نمی‌کند. برای این قابلیت‌ها به مراحل تکمیلی نیاز دارید.

مرحله هفتم: ارسال تأییدیه برای کاربر

بهتر است پس از دریافت درخواست، کاربر بداند که پیامش دریافت شده است.

می‌توانید یک Telegram Node دیگر در مسیر پیام‌های عادی قرار دهید و تأییدیه زیر را ارسال کنید:


پیام شما دریافت شد.



درخواست برای تیم پشتیبانی ارسال شده است. لطفاً منتظر بررسی آن بمانید.



اگر اطلاعات تکمیلی لازم باشد، تیم پشتیبانی با شما ارتباط خواهد گرفت.

در این Node، Chat ID باید شناسه گفت‌وگوی کاربر باشد:


{{ $json.message.chat.id }}

اگر هم‌زمان یک Node برای اطلاع‌رسانی به مدیر و یک Node برای تأییدیه کاربر دارید، هر دو می‌توانند از مسیر پیام ورودی منشعب شوند. به این ترتیب، دریافت درخواست هم برای مدیر اطلاع‌رسانی می‌شود و هم برای کاربر تأییدیه ارسال می‌شود.

توجه داشته باشید که ارسال تأییدیه صرفاً نشان می‌دهد پیام وارد Workflow شده است؛ نباید به کاربر وعده پاسخ در زمان مشخص بدهید، مگر اینکه واقعاً سازوکار پیگیری و زمان پاسخ‌گویی داشته باشید.

مرحله هشتم: آزمایش ربات پشتیبانی

قبل از فعال‌کردن Workflow، سناریوهای زیر را آزمایش کنید:

  • ارسال /start و دریافت پیام خوشامدگویی
  • ارسال /help و دریافت راهنما
  • ارسال یک پیام عادی و بررسی رسیدن آن به مدیر
  • بررسی دریافت تأییدیه توسط کاربر
  • بررسی درست‌بودن نام و شناسه کاربر در پیام مدیر
  • ارسال پیام در شرایطی که مقصد مدیریتی در دسترس نیست

اگر پیام‌ها ارسال نمی‌شوند، اجرای Workflow را در n8n بررسی کنید. معمولاً بررسی خروجی Telegram Trigger، قوانین Switch، Credential و Chat ID به پیدا کردن مشکل کمک می‌کند.

پس از موفقیت آزمایش‌ها، Workflow را ذخیره و فعال کنید. دریافت پیام‌ها در حالت فعال به تنظیم درست Trigger و دسترسی شبکه نیز وابسته است.

چگونه ربات را به سیستم تیکتینگ تبدیل کنیم؟

Workflow فعلی برای شروع مناسب است، اما برای پشتیبانی حرفه‌ای بهتر است هر درخواست یک شناسه مستقل داشته باشد و وضعیت آن قابل پیگیری باشد.

برای این کار می‌توانید قابلیت‌های زیر را اضافه کنید:

۱. ذخیره درخواست‌ها در پایگاه داده

با اتصال n8n به پایگاه داده، هر درخواست را همراه با اطلاعاتی مانند موارد زیر ذخیره کنید:

  • شناسه درخواست
  • شناسه گفت‌وگوی کاربر
  • متن پیام
  • زمان ثبت درخواست
  • وضعیت درخواست
  • شناسه کارشناس مسئول

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

۲. اختصاص شماره تیکت

پس از ذخیره درخواست، یک شناسه یکتا تولید کنید؛ برای مثال T-1042. سپس این شناسه را به کاربر نمایش دهید و در پیام ارسالی به مدیر نیز درج کنید.

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

۳. پاسخ‌دادن مدیر به کاربر

برای ساخت گفت‌وگوی دوطرفه، باید روشی برای ارتباط پاسخ مدیر با کاربر مشخص شود. برای مثال، مدیر می‌تواند با استفاده از یک فرمان مشخص، شناسه تیکت و متن پاسخ را وارد کند؛ سپس Workflow تیکت را پیدا کند و پاسخ را به گفت‌وگوی ثبت‌شده کاربر بفرستد.

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

۴. مدیریت وضعیت درخواست

می‌توانید وضعیت‌هایی مانند «جدید»، «در حال بررسی»، «پاسخ داده‌شده» و «بسته‌شده» تعریف کنید.

این وضعیت‌ها در پایگاه داده نگهداری می‌شوند و هر تغییر باید ثبت شود. در نتیجه، امکان تهیه گزارش تعداد درخواست‌های باز، درخواست‌های پاسخ‌داده‌شده و عملکرد تیم پشتیبانی وجود خواهد داشت.

۵. اتصال به سامانه‌های دیگر

در نسخه‌های پیشرفته‌تر می‌توانید ربات را به CRM، پنل کاربری، ایمیل یا سامانه پیامکی متصل کنید. برای مثال، پس از ثبت درخواست، پیام به تیم پشتیبانی ارسال شود و هنگام تغییر وضعیت، اطلاع‌رسانی برای کاربر انجام گیرد.

نکات امنیتی مهم

از آنجا که ربات پشتیبانی ممکن است اطلاعات مشتریان را دریافت کند، رعایت چند نکته ضروری است:

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

پرسش‌های متداول

آیا ساخت ربات پشتیبانی تلگرام با n8n به برنامه‌نویسی نیاز دارد؟

برای نمونه ساده این مقاله، خیر. با Telegram Trigger، Switch و Telegram Node می‌توانید پیام‌ها را دریافت کنید و به مدیر اطلاع دهید. قابلیت‌هایی مانند مدیریت تیکت، پاسخ دوطرفه و کنترل دسترسی ممکن است به تنظیمات و منطق بیشتری نیاز داشته باشند.

آیا ربات می‌تواند به‌صورت خودکار به کاربران پاسخ دهد؟

بله. می‌توانید برای دستورهای مشخص یا سؤال‌های پرتکرار، پاسخ‌های ثابت تعریف کنید. برای پاسخ‌های هوشمندتر می‌توانید از مدل‌های هوش مصنوعی استفاده کنید؛ با این حال، اطلاعات حساس یا پاسخ‌های مهم باید با کنترل مناسب ارائه شوند.

آیا پیام‌های کاربران ذخیره می‌شوند؟

در Workflow ساده این آموزش، پیام‌ها به مدیر ارسال می‌شوند، اما ذخیره دائمی در پایگاه داده انجام نمی‌شود. برای نگهداری سابقه درخواست‌ها باید یک Node پایگاه داده یا سامانه تیکتینگ به Workflow اضافه کنید.

آیا می‌توان چند کارشناس پشتیبانی داشت؟

بله. می‌توانید درخواست‌ها را به گروه پشتیبانی بفرستید یا با استفاده از منطق تخصیص، هر درخواست را به کارشناس مشخصی واگذار کنید. برای جلوگیری از تداخل پاسخ‌ها، بهتر است مسئول هر درخواست و وضعیت آن ذخیره شود.

آیا این ربات جایگزین سیستم تیکتینگ است؟

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

جمع‌بندی

در این مقاله یک ربات پشتیبانی تلگرام با n8n ساختیم که پیام خوشامدگویی نمایش می‌دهد، راهنمای استفاده ارائه می‌کند، پیام‌های کاربران را دریافت می‌کند و درخواست‌های جدید را برای مدیر می‌فرستد.

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

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

نظرات (0)

نظرات پس از تأیید مدیر نمایش داده می‌شوند

هنوز نظری ثبت نشده است؛ اولین نفر باشید!

مقالات مرتبط

نصب n8n؛ آموزش کامل راه‌اندازی n8n از صفر تا اجرا

نصب n8n؛ آموزش کامل راه‌اندازی n8n از صفر تا اجرا

۱۲ دقیقه
معایب n8n چیست؟ بررسی ۱۰ محدودیت و مشکل مهم قبل از استفاده

معایب n8n چیست؟ بررسی ۱۰ محدودیت و مشکل مهم قبل از استفاده

۲۱ دقیقه
مزایای n8n چیست؟ ۱۲ دلیل برای استفاده از n8n در اتوماسیون کسب‌وکار

مزایای n8n چیست؟ ۱۲ دلیل برای استفاده از n8n در اتوماسیون کسب‌وکار

۲۲ دقیقه
n8n یا Power Automate؛ کدام ابزار اتوماسیون برای کسب‌وکار شما بهتر است؟

n8n یا Power Automate؛ کدام ابزار اتوماسیون برای کسب‌وکار شما بهتر است؟

۲۲ دقیقه