معرفی 00:04

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

مستندات و منابع آموزشی

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

ثبت نام در پنل 01:24

نخستین کاری که باید انجام دهید ثبت‌نام در پنل ربات‌ساز پیشرفته صهبات است. در این ویدیو وارد بخش ثبت‌نام نمی‌شویم؛ آموزش ثبت‌نام و مراحل آن که بسیار ساده است در این صفحه توضیح داده شده و می‌توانید به آن مراجعه کنید.

کارکرد ربات در پیامرسان 01:48

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

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

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

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

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

ساخت اولین ربات 04:53

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

منظور از آدرس ربات در صهبات چیست؟ هنگامی که در بخش گفتگوها وارد یک ربات می‌شوید، عنوان ربات و آدرس آن نمایش داده می‌شود. با این آدرس کاربران می‌توانند به‌صورت مستقیم وارد ربات شما در صهبات شوند، به شرط آن‌که دسترسی خصوصی نباشد و کاربران صهبات اجازهٔ ورود داشته باشند. این شناسه پس از ایجاد ربات توسط صهبات تعیین می‌شود. با این آدرس مستقیم هر کسی می‌تواند وارد ربات شود و با آن کار کند؛ البته پیش از آن باید در صهبات وارد شده باشد.

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

تنظیمات سطح دسترسی ربات

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

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

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

موجودی الماس و امتیاز اولیه

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

معرفی فرآیندهای ربات 08:59

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

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

ایجاد فرآیند منوی ساده 10:29

اکنون می‌خواهیم منوی ساده‌ای برای /start تعریف کنیم، به‌گونه‌ای که وقتی کاربر /start را به ربات ارسال کند، پیام مورد نظر به او منتقل شود. توجه داشته باشید که داخل این فرآیند می‌توان چند دستور افزود؛ بنابراین عنوانی کلی‌تر برای آن می‌گذاریم و روی کلید «ایجاد فرآیند» کلیک می‌کنیم.

توضیح دستور و کلیدها 11:00

هنگامی که وارد بخش ویرایش می‌شویم، می‌توانیم هر تعداد دستور که لازم است وارد کنیم. منظور از دستورها چیست؟ هر ربات معمولاً دستورهایی دارد که با «/» آغاز می‌شود؛ در اینجا دستور /start را در ربات صهبات آزموده‌ایم. هر یک از کلیدها نیز ما را به دستوری منتقل می‌کند. برای مثال با کلیک روی کلید «تماس با ما» پیامی ارسال می‌شود که در واقع دستور /contact است؛ اگر همین دستور را به‌صورت دستی نیز وارد می‌کردیم، همان پیام نمایش داده می‌شد. بنابراین هر کلید ما را به یک دستور منتقل می‌کند.

دربارهٔ ما نیز /about است. البته چون ربات را خود طراحی کرده‌ایم از آن مطلع هستیم و شما می‌توانید هر دستور و هر آدرسی برای ربات و کلیدهای آن تعیین کنید. بازگشت به صفحهٔ اصلی نیز همان /start است که در دستور این کلید تعیین شده و با فشردن آن عیناً همان پاسخ ارسال /start ارسال می‌شود. بدین ترتیب با مفهوم دستور در ربات آشنا شدیم.

ایجاد دستورها 12:29

اکنون مهم‌ترین دستور، یعنی /start، را ایجاد می‌کنیم.

ایجاد پیام متنی 12:40

برای این دستور پیامی تعیین می‌کنیم؛ یعنی وقتی کاربر /start را ارسال کرد، چه پیامی از طرف ربات به او ارسال شود. این پیام را ذخیره می‌کنیم.

پیام دریافتی و ارسالی 13:06

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

همهٔ این پیام‌ها را می‌توانید در بخش «پیام‌ها» نیز مشاهده کنید. همان‌طور که دیده می‌شود، /start از کاربر دریافت شده، پاسخ آن ارسال شده، دوباره /start دریافت شده و پاسخ مربوط ارسال شده، و پس از دریافت /contact پاسخ مربوط به آن ارسال شده است.

ساخت کلید ساده 13:32

برای ساخت این کلیدها دوباره وارد فرآیند می‌شویم و یک ردیف کلید جدید می‌افزاییم. برای هر کلید، یک دستور و یک متن نمایشی لازم است و هر دو اجباری‌اند. متن نمایشی همان نوشته‌ای است که برای کاربر نمایش داده می‌شود و می‌توان در آن از اموجی نیز استفاده کرد. دستور همان /start، /about، /contact و سایر دستورهایی است که برای ربات ساخته‌ایم.

بنابراین برای افزودن کلید مناسب، ابتدا باید دستور مربوط به آن ساخته شده باشد؛ همان‌طور که /start ساخته شد، دستور دیگری مانند /contact نیز باید وارد شود. برای این دستور نیز هر متنی که لازم است می‌توان وارد کرد.

اگر بخواهیم کلید «بازگشت» بگذاریم، می‌توانیم دستور /start را اضافه کنیم و در متن کلید عبارت «بازگشت» را بنویسیم. از متن مربوط به دستور /start نیز می‌توان کاربر را به دستور /contact هدایت کرد.

هنگامی که بار دیگر /start ارسال شود، کلید «تماس با ما» نیز نمایش داده می‌شود. با زدن این کلید، دستور /contact اجرا می‌شود. طبیعتاً با زدن کلید «بازگشت» نیز /start به ربات ارسال می‌شود و به دستور شروع بازمی‌گردیم.

پل ارتباطی پیامرسان 17:06

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

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

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

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

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

  • ارتباط با پیام‌رسان بله و پیام‌رسان آیگپ
  • ربات تعاملی ایتا که اخیراً امکان برنامک را افزوده است و ممکن است در آینده حالت برنامه — معادل بات در تلگرام یا بازو در بله — نیز به آن افزوده شود
  • ربات فرستندهٔ ایتا که فقط می‌تواند به کانال‌ها و گروه‌ها ارسال کند و امکان تعامل با حساب‌های شخصی را ندارد؛ دریافت توکن و انجام کارها در هر دو پل ایتا از طریق ایتایار انجام می‌شود
  • پیام‌رسان واتساپ که با حساب شخصی به واتساپ متصل می‌شود؛ حتماً آموزش اتصال را ببینید و به نکات آن دقت کنید
  • تلگرام، روبیکا، پنل پیامکی sms.ir و سایر پل‌هایی که ممکن است در آینده بررسی شوند

نکتهٔ مهم دربارهٔ انواع پل ارتباطی این است که برخی از این پل‌ها به‌صورت GetUpdates هستند و تعداد الماس مصرفی آن‌ها کمی بیشتر از ربات‌های عادی است. کسانی که با سامانهٔ ربات آشنا هستند می‌دانند که روش GetUpdates با روش عادی یعنی webhook تفاوت‌هایی دارد؛ تا زمانی که نیاز به GetUpdates نباشد، باید از ربات‌های عادی استفاده کرد. اگر به هر علت بخواهید از روش GetUpdates استفاده کنید، حتماً پیش از آن از پشتیبانی صهبات بپرسید که آیا این روش برای کار شما مناسب است یا خیر.

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

محدودیت نوع گفتگو مشخص می‌کند که ربات برای گفتگوهای خصوصی، گروه، کانال یا همهٔ این‌ها در نظر گرفته شده است.

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

وضعیت پل‌ها، ذخیره‌سازی پیام و فعال‌سازی ربات

منظور از وضعیت پل این است که آیا این پل باید هم پیام بفرستد و هم دریافت کند، یا فقط ارسال کند — برای مثال انتقال به کانال، بدون نیاز به دریافت پیام از کاربران — یا فقط دریافت کند و بر اساس آن کاری انجام دهد یا همان پیام را به پیام‌رسان یا کانال دیگری منتقل کند. اگر دقیقاً نمی‌دانید چه کاری قرار است انجام شود یا کارهای متنوعی دارید، انتخاب گزینهٔ ارسال و دریافت مناسب‌ترین گزینه است.

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

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

اگر ارتباط برقرار شده باشد، با ارسال /start باید همان پیامی که در صهبات به کاربر ارسال می‌شد اینجا نیز ارسال شود؛ مشاهده می‌شود که درست کار می‌کند. کلید تماس با ما نیز درست عمل می‌کند. بنابراین ربات آماده است و اتصال آن برقرار شده است.

اکنون بیشتر وارد جزئیات امکانات فرآیندی می‌شویم که با آن کار کردیم و دو دستور را ایجاد کردیم. برای مثال یک کلید جدید می‌افزاییم و این بار به یک URL، یعنی لینک خارجی، آدرس می‌دهیم. می‌خواهیم با زدن این کلید آدرس سایت صهبات باز شود. یک اموجی نیز کنار آن اضافه می‌کنیم، ذخیره می‌کنیم و دوباره /start را ارسال می‌کنیم. مشاهده می‌شود که با زدن کلید، آدرس تعیین‌شده باز شد. کار با صهبات بسیار ساده است و بسیاری از مشکلات کدنویسی در اینجا وجود ندارد.

ارسال فایل، تصویر و غیره 27:35

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

برای مثال فایلی ارسال می‌کنیم. با توجه به این‌که در دستور شروع هستیم، هر چیزی ارسال کنیم همان پاسخ شروع بازگردانده می‌شود؛ دربارهٔ این موضوع بیشتر صحبت خواهیم کرد. پس از تازه‌سازی صفحه، فایل دریافت‌شده و توکن آن نمایش داده می‌شود. می‌توان این توکن را در فرآیند استفاده کرد و برای ارسال به کاربر به‌کار برد.

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

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

کلید شیشه ای و چسبیده به باکس 32:11

دربارهٔ کلیدها امکانات بیشتری نیز وجود دارد، جز این‌که کلید ساده باشد یا کلید پیوند وب (URL). برای مثال می‌توان از تعریف چند کلید استفاده کرد. فعلاً تصویر را حذف می‌کنیم.

در کلیدها می‌توان هم ردیف‌های مختلف افزود و آن‌ها را جابه‌جا کرد و هم داخل هر ردیف چند کلید اضافه کرد؛ البته این موضوع به امکانات پیام‌رسانی بستگی دارد که قرار است کلیدها در آن نمایش داده شوند. برای مثال اگر کلید دستور جدیدی اضافه شود، چون در دستور /start هستیم با زدن /start دوباره همین پیام دیده می‌شود. تماس با ما و نمایش مجدد این پیام باید هر دو در یک ردیف دیده شوند و سایت صهبات به‌تنهایی در ردیف دوم قرار گیرد. مشاهده می‌شود که ردیف اول دو کلید دارد و ردیف دوم یک کلید تنها است. به همین ترتیب می‌توانید هر تعداد کلید به پیام‌ها بیفزایید.

نکتهٔ بعدی این است که برخی انواع کلید در پیام‌رسان‌های مختلف محدودیت دارند. نمایش در حالت reply یا inline نیز تفاوت دارد. برخی پیام‌رسان‌ها هر دو حالت را می‌پذیرند، اما برخی مانند بله یا تلگرام اجازه نمی‌دهند عنوان متفاوتی برای این قسمت تعیین شود. یکی از کارهایی که می‌توان انجام داد نوشتن دستورها به‌شکل فارسی است؛ برای مثال «تماس با ما» هم به‌عنوان متن کلید و هم به‌عنوان آدرس دستور. در این صورت کلید درست کار می‌کند زیرا دستور مربوط نیز به‌شکل فارسی تعیین شده است. روش‌های دیگری نیز وجود دارد که بتوان برای همین دستور هم حالت /contact و هم حالت فارسی را نوشت؛ با آن حالت در بخش مسیرساز آشنا می‌شویم و فعلاً به همین یک روش اکتفا می‌کنیم. نوع را نیز روی تشخیص خودکار می‌گذاریم.

برخی پیام‌رسان‌ها مانند بله یا تلگرام نمی‌توانند کلید را چسبیده به پیام نشان دهند. بنابراین صهبات کلید را به‌صورت خودکار به حالت reply تبدیل می‌کند تا کلید از دست نرود و کاربر آن را ببیند. در تشخیص خودکار خود به حالت reply تبدیل می‌شود و اگر inline را انتخاب کرده باشید، با بررسی انواع کلیدهای انتخاب‌شده تصمیمی به نفع ربات گرفته می‌شود تا کلیدها کمتر از دست بروند. تا اینجا با کلیدهای ساده، کلیدهای URL و انواع صفحه‌کلید آشنا شدیم.

معرفی انواع دیگر کلیدها 36:20

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

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

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

باز کردن آدرس برنامک دقیقاً مانند همان URL است که آزمودیم؛ آدرسی به ربات می‌دهید و وقتی کلید زده شد، برنامک مورد نظر در آن نشانی اینترنتی باز می‌شود. تفاوت آدرس برنامک با URL این است که URL مستقیماً در مرورگر باز می‌شود، اما آدرس برنامک داخل خود برنامه باز می‌شود. با برنامک‌ها بعداً آشنا خواهیم شد. اطلاعات کاربر علاوه بر این‌که خود صفحهٔ بازشده ارسال می‌کند، به آن صفحه نیز ارسال می‌شود و آن نشانی اینترنتی باید امکاناتی داشته باشد تا بتواند از این اطلاعات استفاده کند.

تعریف چند کلید 38:17

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

ممکن است بپرسید این حالت چه کاربردی دارد وقتی می‌توان کلیدها را جداگانه وارد کرد. این حالت به‌ویژه در فرآیند پیشرفته مفید است؛ وقتی متغیری ایجاد می‌کنید که فهرست دستورها داخل آن است، می‌توانید چندین کلید را با آن ارسال کنید و در پیام‌رسان نمایش دهید. اینجا فقط برای آشنایی توضیح داده شد؛ نحوهٔ استفاده را بعداً توضیح خواهیم داد.

بنابراین انواع کلید عبارت‌اند از: کلید ساده، URL، تعریف چند کلید، باز کردن آدرس برنامک، درخواست‌ها، و انتقال به یک فرآیند.

کلید انتقال به فرآیند 40:21

اگر فرآیند دیگری داشته باشیم می‌توانیم با انتقال به یک فرآیند به فرآیندهای دیگر منتقل شویم و اطلاعات خاصی را داخل آن ارسال کنیم. تفاوت آن با حالت عادی چیست؟ در حالت عادی وقتی دستور /contact را می‌زنید ممکن است این دستور در فرآیند دیگری باشد و با زدن کلید به آن فرآیند منتقل شوید؛ اما همهٔ جزئیاتی که اینجا می‌توان مشخص کرد — این‌که دقیقاً کدام زیرفرآیند اجرا شود و چه مقداری به آن فرآیند ارسال شود — از طریق انتقال به فرآیند امکان‌پذیر است. پس از آشنایی با فرآیند ثبت اطلاعات و فرم، از این کلید یک‌بار استفاده خواهیم کرد تا کاربرد آن مشخص شود.

معرفی انواع پیام ها 41:35

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

  • ارسال صوت دقیقاً مانند ارسال تصویر است و به توکن فایل نیاز دارد.
  • ارسال ویدیو، گیف، استیکر و فایل نیز همه مشابه هستند؛ با وارد کردن توکن فایل، فایل مورد نظر به کاربر ارسال می‌شود.
  • اگر نوع فایل را نمی‌دانید می‌توانید تشخیص خودکار را بزنید. این گزینه هم برای ارسال فایل مفید است و ممکن است تصویر، ویدیو یا حتی متن بودن پیام مشخص شود؛ اگر توکن وجود نداشته باشد به‌عنوان متن ارسال می‌شود. همچنین بقیهٔ فیلدهای مربوط به هر نوع پیام در اینجا به‌صورت یکجا قابل مشاهده و ویرایش هستند.
  • ارسال مخاطب همان حالتی است که در برخی پیام‌رسان‌ها vcard یا contact نامیده می‌شود.
  • برای ارسال موقعیت مکانی کافی است طول و عرض جغرافیایی را وارد کنید. توجه داشته باشید که متن یا زیرنویس در بسیاری از پیام‌رسان‌ها به موقعیت مکانی نمی‌چسبد؛ یعنی برخی پیام‌رسان‌ها نمی‌توانند زیر آن متن دیگری ارسال کنند یا حتی کلید اضافه کنند. صهبات از حداکثر امکانات هر پیام‌رسان برای ارسال این پیام‌ها استفاده می‌کند.
  • حالت کیف پول فعلاً قابل استفاده نیست و ممکن است در آینده به امکانات عملی افزوده شود.

تعیین گروه کاربری 43:46

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

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

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

می‌توان برای یک فرد هر تعداد گروه کاربری تعیین کرد؛ برای مثال خود را مدیر و هم‌زمان جزء مشتریان قرار داد.

سپس در فرآیندها می‌توان این فرآیند را به مدیران، مشتریان، یا کسانی که هیچ گروهی ندارند محدود کرد. با توجه به این‌که این منوها عمومی بودند، آن را برای مشتریان و کسانی که مدیر نیستند تعیین می‌کنیم و ذخیره می‌کنیم.

تعیین فرآیند مدیران 46:42

اکنون می‌خواهیم وقتی مدیران /start را زدند پیام متفاوت‌تری ارسال شود. فرآیند جدیدی می‌افزاییم و منوهای مدیران را اضافه می‌کنیم، آن را به مدیران محدود و ذخیره می‌کنیم و دوباره دستور start را اضافه می‌کنیم. برای وضوح بیشتر پیام را می‌نویسیم. برای مثال دستور manage را با عنوان مدیریت سایت می‌افزاییم و کلید بازگشت را می‌سازیم.

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

آزمایش می‌کنیم. یکی از کاربران مدیر است و دیگری جزء مشتریان. کاربری که در بله است مدیر است. با /start پیام مربوط به مدیریت می‌آید. پیوند مدیریت سایت کار می‌کند و ورود به بخش مدیریت به آدرسی که تعیین کرده بودیم می‌رود؛ چون آدرس درست نبود، باز نمی‌شود.

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

اگر کسی که مدیر نیست به‌صورت دستی دستور /manage را بفرستد، کار نمی‌کند و همان دستور قبلی ارسال می‌شود؛ در حالی که اگر مدیر /manage را ارسال کند، وارد این دستور می‌شود. بنابراین می‌توان سطح دسترسی افراد مختلف را با همین عملکرد سادهٔ صهبات متفاوت کرد.

برچسب فرآیندها 50:35

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

محتوای جلسه بعدی 51:19

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