در این قسمت قصد داریم با فرآیند مسیرساز را آشنا شویم و برای آشنایی با نحوهٔ عملکرد این فرآیند، به رباتی که در آموزشهای قبلی ساخته بودیم عضویت اجباری را اضافه کنیم. در حالت عضویت اجباری اگر فرد عضو کانال مورد نظر نشده باشد نمیتواند از ربات استفاده کند.
توجه داشته باشید که کانال مورد نظر حتماً در قسمت کاربران ربات اضافه شده باشد. نحوهٔ مدیر کردن ربات و اضافه شدن آن به این فهرست را در آموزشهای قبلی در آموزش فرآیند انتقال پست تلگرام و بله بهصورت کامل نشان دادهایم. پس از اضافه شدن کانال مورد نظر به فهرست کاربران ربات میتوانید از آن در فرآیندها استفاده کنید. برای همین شناسهٔ این کانال را در صهبات رونوشت میکنیم.
اکنون به قسمت فرآیندها بازمیگردیم. در قسمت قبلی آموزش یک فرآیند پیشرفته ساخته بودیم که دستورهای شروع و راهنما را داشت و به این صورت کار میکرد. اکنون میخواهیم کاری کنیم که اگر کاربر در کانال ما عضو نشده بود این فرآیند برایش کار نکند و پیام خطا برایش ارسال شود.
برای این کار باید از فرآیند مسیرساز استفاده کنیم. وقتی از مسیرساز استفاده نمیشود پیامی که کاربر به ربات میفرستد مستقیماً به دستور مربوط به آن پیام منتقل میشود و ربات پاسخ مورد نظر را به کاربر بازمیگرداند. اما وقتی از مسیرساز استفاده میکنیم پیام پیش از هر چیز وارد مسیرساز میشود و این مسیرساز است که تعیین میکند پیام کاربر به هر یک از این دستورها وارد شود یا نشود. بنابراین برای این کار میخواهیم از مسیرساز استفاده کنیم تا پیش از ورود به هر دستور بررسی کند اگر کاربر عضو کانال بود وارد دستور مورد نظر شود و اگر نبود پیام خطا بازگرداند.
اکنون به پنل بازمیگردیم و یک فرآیند مسیرساز اضافه میکنیم. توجه داشته باشید که هر ربات فقط میتواند یک فرآیند مسیرساز داشته باشد. وارد ویرایش فرآیند مسیرساز میشویم. هر فرآیند مسیرساز باید یک بلوک ورود و یک بلوک انتقال به دستور داشته باشد. تفاوت مسیرساز با بقیهٔ فرآیندها این است که میتوانید آدرس دستور ورود و انتقال را خالی بگذارید. در این صورت مسیری که اینجا تعیین خواهیم کرد برای همهٔ دستورها اجرا خواهد شد. یعنی زمانی که این فرآیند را ذخیره کنیم عملکرد ربات هیچ تغییری نکرده و پیامهای کاربر به دستورهای مربوط به آن پیام منتقل میشود.
اکنون میخواهیم ربات بررسی کند کاربر عضو کانال هست یا خیر. برای این کار از بخش عملگرها یک شرط اضافه میکنیم. اگر کاربر عضو کانال بود به دستور منتقل شود و اگر عضو کانال نبود پیام خطا برایش ارسال شود. اکنون باید شرط عضویت در کانال را به این قسمت اضافه کنیم. برای این کار وارد بخش کاربران میشویم و بلوک اطلاعات کاربر را به آن اضافه میکنیم. از میان ویژگیها «عضو کانال است» را انتخاب میکنیم. شرط را جایگذاری میکنیم. شناسهٔ کانال را که رونوشت کرده بودیم در این قسمت اضافه میکنیم. اکنون اگر کاربر عضو این کانال شده باشد به دستور مورد نظر منتقل خواهد شد و اگر عضو نشده باشد پیام خطا به او ارسال میشود.
پیام خطا را تعیین میکنیم و کلیدی نیز به آن اضافه میکنیم تا پس از عضویت کاربر اعلام کند که عضو کانال شده و دوباره وارد همین فرآیند شود.
اکنون فرآیندی که ساختیم را یکبار ذخیره میکنیم و عملکرد ربات را میآزماییم. همانطور که مشاهده میشود پیام خطا و درخواست عضو شدن در کانال را نشان میدهد. داخل کانال عضو میشویم و دوباره ربات را میآزماییم. مشاهده میشود که پیام خوشامد بهدرستی ارسال شد.
اما اگر بخواهید بیشتر از یک کانال را اینجا برای عضویت اجباری تنظیم کنید باید از عملگر «و» به این صورت استفاده کنید. برای مثال میخواهیم سه کانال اضافه کنیم به این صورت. برای آن دو کانال دیگر نیز مانند مورد اول شناسههایشان را اضافه میکنید و داخل شرط جایگذاری میکنید. در ادامه بنا بر آدرس کانالها میتوانید پیام متنی را نیز ویرایش کنید و آدرس آن کانالها را اضافه کنید تا کاربر پس از عضو شدن در آنها بتواند از ربات استفاده کند.
در این قسمت از آموزش آشنایی اجمالی با فرآیند مسیرساز داشتیم و عضویت اجباری را بهوسیلهٔ این فرآیند ایجاد کردیم. همانطور که مشاهده میشود محیط تنظیمات این فرآیند نیز شبیه فرآیند پیشرفته است و تنها تفاوت آن خالی بودن فیلد ورود و انتقال به دستور است. در قسمت قبلی آموزش نیز آشنایی کلی با فرآیند پیشرفته داشتیم.