مستندات صهبات

راهنمای جامع استفاده از ربات‌ساز پیشرفته صهبات — از ثبت‌نام تا ساخت ربات‌های حرفه‌ای.

ثبت نام و ورود

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

اگر قبلا ثبت نام کرده‌اید، می‌توانید با شماره تماس یا نام خود وارد محیط کاربری شوید.

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

 

الماس ها و امتیازها (واحد درون‌برنامه‌ای)

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

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

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

 

ردیفامکانات/مصرف منابعواحدمقدار
1پل ارتباطیالماس20
2پایگاه دادهالماس30
3هر 5 ستون قابل جستجو در پایگاه دادهالماس5
4هر محصول/مطلبالماس1
5پیام پرداخت محصول/مطلبالماس2
6حذف تبلیغاتالماس10
7شرطالماس2
8درگاه پرداختالماس30
9هر زیرفرآیند در فرآیند منوی سادهالماس2
10هر زیرفرآیند در فرآیند فرم دریافت اطلاعاتالماس3
11هر زیرفرآیند در انتقال پستالماس20
12انتقال پست گروهیالماس500
13مدیر گروهالماس30
14هر گروه افزوده شده در مدیر گروهالماس20
15دسترسی به تنظیمات مدیر گروه از گروهالماس20
16استفاده Regex در مدیر گروهالماس5
17افزودن زیرفرآیند در مدیر گروهالماس10
18گرفتن خروجی اطلاعاتالماس40
19هر زیرفرآیند در عملیات زماندار (کرون جاب)الماس40
20فرآیند وبلاگ/فروشگاهالماس40
21فرآیند پیشرفتهالماسمطابق جدول زیر
22کدنویسی سفارشیالماستوافقی (براساس امکانات درخواستی)
23هر پلاگینالماس2
24پل ارتباطی بله (GetUpdates)الماس50
25پل ارتباطی تلگرام (GetUpdates)الماس50
26صهبات در بلهالماس40
27صهبات در آیگپالماس40
28صهبات در تلگرامالماس40

 

برای فرآیند پیشرفته نیز هزینه بلوک‌های ایجاد شده به شکل زیر هستند:

 

ردیفامکانات/مصرف منابعواحدمقدار
1عمومیالماس1
2نگهداری وضعیت دستورالماس2
3ذخیره چند فیلد در پایگاه دادهالماس2
4دریافت رکورد پایگاه دادهالماس3
5شمارش ورودی در پایگاه دادهالماس2
6جستجو در اکسلالماس5
7تعداد رکوردهای اکسلالماس4
8اتصال به APIالماس20
9اتصال به API تحریمیالماس40
10جستجو در JSONالماس3
11دریافت مطالبالماس3
12دریافت مجموعه‌هاالماس3
13دریافت تراکنشالماس3
14forالماس8
15for eachالماس8
16continue, breakالماس4
17repeatالماس8
18repeat extالماس8
19while untilالماس8
20سایر بلوک‌هاالماس1

 

جدول مصرف امتیازها:

 

ردیفامکانات/مصرف منابعواحدمقدار
1ارسال پیامامتیاز1
2دریافت پیامامتیاز1
3فایل ارسالی از پل (1 عدد)امتیاز5
4فایل (1 مگابایت)امتیاز5
5انجام عملیات زماندار (کرون جاب)امتیاز3
6هر ورودی پایگاه دادهامتیاز2
7هر خروجی از پایگاه دادهامتیاز150
8هر رمز یکبار مصرفامتیاز300
9ذخیره پیام (هر روز)امتیاز4
10بروزرسانی یک رکورد در نسخه متناظرامتیاز1
11بروزرسانی هر صد رکورد در صهبات براساس نسخه متناظر (طبق زمان‌بندی تعیین شده در تنظیمات نسخه متناظر)امتیاز1
12هر بار کارکرد API متصل شدهامتیاز2
13هر بار کارکرد API تحریمی متصل شدهامتیاز3

 

محیط کاربری ربات‌ساز

پس از ورود به ناحیه کاربری ربات‌ساز چهار گزینه اصلی پیش روی شما خواهند بود که عبارتند از:

  • میزکار
  • ربات‌ها
  • گفتگوها
  • درگاه‌های پرداخت

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

میز کار

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

 

 

ربات‌ها

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

 

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

  • امتیاز
  • الماس
  • صفحه گفتگوی ربات

 

 

اطلاعات ربات

در این قسمت می‌توانید اطلاعات ثبت شده ربات مورد نظر را ویرایش یا تکمیل کنید.

پل‌های ارتباطی

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

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

 

 

 

 

فرآیندها

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

 

 

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

منوی ساده

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

 

 

فرم دریافت اطلاعات

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

 

 

انتقال پست

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

 

کد سفارشی

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

کرون جاب

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

وبلاگ/فروشگاه

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

 

 

پیشرفته

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

لیست و امکانات دقیق بلوک های فرآیند پیشرفته در انتهای مستندات اضافه شده اند.

برای مشاهده این قسمت، می توانید همین جا کلیک کنید.

مدیر گروه

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

 

علامت قبل از فرمان متن فرمان جزئیات فرمان واحد نحوه ارجاع عملکرد
! یا . پیکربندی - - پیام مستقل بروزرسانی اطلاعات مالک و مدیران
(اولین بار باید توسط مالک اصلی گروه ارسال شود)
! یا . سکوت - ساعت ریپلای به پیام محدودیت ارسال پیام
! یا . اخراج (بن) - ساعت ریپلای به پیام محدودیت دسترسی کاربر مورد نظر
! یا . آزاد - - ریپلای به پیام پاک شدن همه بن‌ها، اخطارها و برداشته شدن محدودیت‌ها
! یا . ریست - - ریپلای به پیام فقط پاک شدن اخطارها
! یا . گروه آزاد/قفل - پیام مستقل آزاد یا قفل کردن گروه
! یا . اضافه به لیست سفید/لیست سیاه - ریپلای به پیام افزودن کاربر به لیست سفید یا سیاه
! یا . حذف از لیست سفید/لیست سیاه - ریپلای به پیام حذف کردن کاربر از لیست سفید یا سیاه
! یا . پاکسازی کل/از اینجا/x ساعت - متنوع پاکسازی پیام‌ها

 

 

مسیرساز

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

پلاگین‌ها

گاهی اوقات نیاز دارید در پیام ارسالی به کاربر (یا حتی در مقداری که می خواهید در پایگاه داده ذخیره کنید و …) متن متفاوتی را استفاده کنید که ممکن است برای هر کاربر، یا هر وضعیت متفاوت و … مقدار متفاوتی داشته باشد.
به عنوان مثال، فرض کنید می خواهید در متن پیام ابتدایی ربات، از اسم کاربر هم استفاده کنید. مثلا اگر اسم فرد، محمد است ربات پیام بدهد «سلام محمد عزیز». در این صورت به جای «محمد» باید پلاگین مناسب آن را استفاده کنید:

سلام <peer>title</peer> عزیز
زمان: <date></date>

در این صورت، به جای تگ peer که در متن اضافه کردیم، عنوان (نام) فرد که در پیامرسان برای خود تعیین کرده نمایش داده می شود و به جای تگ date، زمان نمایش داده می شود:

سلام محمد عزیز
زمان: 1403/12/06 12:17:23

در صورتی که قصد دارید تنها بخش مشخصی از تاریخ نشان داده شود می‌توانید داخل پلاگین date نمایش آن را محدود نمایید. مانند:

تاریخ امروز: <date>y/m/d</date>

که به صورت زیر نشان داده خواهد شد:

تاریخ امروز: 04/01/12

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

سلام <author>title</author> عزیز! به گروه ما خوش اومدی

یا اگر می خواهیم از متن خود کاربر در متن رباتمان استفاده کنیم می توانیم از تگ msg استفاده کنیم:

متن ارسالی شما: <msg>text</msg>

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

<dbentry>name</dbentry> عزیز
شماره موبایل <dbentry>mobile</dbentry> برای شما ثبت شد.
هم اکنون می توانید از امکانات ربات ما استفاده کنید.

یعنی اگر فرد در فرم ثبت نام، نام «محمد» و شماره موبایل «09111111111» را ثبت کرده باشد، پیام به این صورت برایش ارسال خواهدشد:

محمد عزیز
شماره موبایل 09111111111 برای شما ثبت شد.
هم اکنون می توانید از امکانات ربات ما استفاده کنید.

همانطور که مشخص است، در نحوه نوشته شدن تگ‌ها از قوانین عمومی که در html و xml وجود دارد پیروی می شود. یعنی هر تگ با علامتهای < و > ساخته می شود و از 2 بخش شروع و پایان تشکیل می شود. در بخش شروع، نام تگ اضافه  (مثلا <msg>) و در بخش پایانی، یک اسلش نیز قبل از نام تگ قرار می گیرد (مثل </msg>). متن ها و ویژگیهای بین این دو بخش، توسط پلاگینی که نام آن در تگ تعیین شده است تحلیل و در صورت نیاز، تغییر داده خواهندشد.

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

چند نکته درباره پلاگین ها وجود دارد:

1. امکان استفاده از چندین ویژگی یک پلاگین به طور همزمان داخل یک تگ وجود دارد. در این صورت، باید آنها را داخل {} بنویسیم

<dbentry>
{name} عزیز
شماره موبایل
{mobile}
برای شما ثبت شد.
هم اکنون می توانید از امکانات ربات ما استفاده کنید.
کد رهگیری شما:
{$id}
</dbentry>

یا به عنوان مثال برای تگ peer می توانیم بنویسیم:

<peer>
سلام {title} عزیز
نام کاربری شما @{username} است.
</peer>

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

مثلا اگر می خواهیم تاریخ را با کاراکترهای فارسی نمایش دهیم می توانیم آن را در تگ fanum قرار دهیم:

<fanum><date></date></fanum>

در این صورت ابتدا تاریخ توسط پلاگین date تولید می شود و سپس اعداد آن توسط پلاگین fanum به کاراکترهای فارسی تبدیل می شود.

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

حال که به طور اجمالی با نحوه استفاده از پلاگین‌ها آشنا شدیم، بهتر است ببینیم چه پلاگین‌هایی را می‌توانیم استفاده کنیم و هر پلاگین، چه ویژگی‌هایی دارد:

اطلاعات حساب کاربری (peer,author)

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

در حالتی که گفتگوی مورد نظر، یک گفتگوی خصوصی نیست (کانال یا گروه است)، برای نمایش اطلاعات فرستنده پیام از پلاگین author استفاده می شود. طبیعتا در حالتی که کاربر در چت شخصی به ربات پیام فرستاده است، اطلاعات گفتگو با اطلاعات فرستنده پیام، یکی است و پلاگین های peer و author یک خروجی را به شما خواهدداد.

در این پلاگین، این ویژگیها قابل استفاده هستند:

ویژگیعنوان
titleنام نمایشی حساب کاربری فرد
usernameنام کاربری در پیام‌رسان
sys_idشناسه عددی در صهبات
idشناسه عددی در پیام‌رسان

به عنوان مثال:

سلام <peer>title</peer> عزیز

 

تاریخ و زمان (date)

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

پلاگین date، تاریخ جاری یا تاریخ تعیین شده توسط شما را با قالب دلخواه نمایش می‌دهد.

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

سال/ماه/روز ساعت:دقیقه:ثانیه

 

تگ داخلیعنوان
valueتعیین تاریخ دلخواه
modify(مثلا افزودن یا کاستن زمان از تاریخ مورد نظر)مدیریت تاریخ مورد نظر
value-secتعیین تاریخ به صورت عدد UNIX به صورت ثانیه‌های شمارش شده از سال 1970
value-milisecتعیین تاریخ به صورت عدد UNIX به صورت میلی ثانیه‌های شمارش شده از سال 1970
value-microsecتعیین تاریخ به صورت عدد UNIX به صورت میکرو ثانیه‌های شمارش شده از سال 1970
calendarامکان تعیین تقویم مورد نظر را فراهم می کند (shamsi ، miladi یا qamari). تقویم قمری در حالت آزمایشی است

 

عبارت داخل پلاگینعنوان و توضیحنمونه (بازه) خروجی
Yسال به صورت چهار رقمی1404
yسال به صورت دو رقمی04
mماه به صورت دو رقمی01-12
Mماه1-12
dروز به صورت دو رقمی01-31
jروز1-31
Wهفته از سال1-52
wروز هفته با اعداد 0 تا 6 (صفر برای یکشنبه)0-6
Nروز هفته با اعداد 1 تا 7 (یک برای دوشنبه)1-7
Dروز از هفته به صورت سه حرفیپنج
lروز از هفته به صورت کاملپنجشنبه
Hساعت به صورت دو رقمی 24 ساعته00-23
iدقیقه با رقم یکان و دهگان 00-59
sثانیه با رقم یکان و دهگان00-59

در مثال زیر فقط روز و ساعت در زمان تعیین شده به طور دلخواه فراخوانی می‌شوند:

روز و ساعت: <date><value>1404/01/01 19:30:00</value>d/H</date>

روز و ساعت: 01/19

برای زمان به صورت UNIX نیز می‌توان از سه تگ ذکر شده در جدول فوق به صورت زیر استفاده نمود

تاریخ شروع ثبت نام: <date><value-sec>1738355400</value-sec>Y/m/d</date>

تاریخ شروع ثبت نام: 1403/11/11

در صورت نیاز به ویرایش تاریخ به انحا مختلف نیز از تگ modify استفاده می‌شود. در مثال زیر 3 روز به تاریخ حال اضافه و نمایش می‌دهد:

تاریخ اتمام گردش کار: <date><modify>+3 days</modify>Y/m/d</date>

اگر تاریخ امروز 1403/01/17 باشد متن نمایش داده شده به صورت زیر خواهد بود.

تاریخ اتمام گردش کار: 1404/01/20

همانطور که گفته شد، برای نمایش بر اساس تقویم خاص، از تگ calendar استفاده می کنیم:

<date><calendar>qamari</calendar>d M سال Y هجری قمری</date>

که به به عنوان مثال، این شکل دیده خواهدشد:

12 رمضان سال 1447 هجری قمری

پیام کاربر (msg)

این پلاگین که با تگ msg تعیین می شود اطلاعات پیام دریافتی از کاربر (مثل متن، نوع پیام و …) را در اختیار ما قرار می دهد.

ویژگی‌ها:

 

ویژگیعنوانواحدنمونه خروجی
typeنوع پیام-image
textورودی به صورت پیام متنی-سلام، من درخواست پشتیبانی خدمات دارم.
idشناسه پیام دریافتی-123456789
file_tokenتوکن ثبت شده برای فایل دریافتی-qwerty1234-uiop
file_unique_idشناسه یکتای ثبت شده برای فایل دریافتی-asdfg9876-hjkl
file_nameنام فایل دریافتی-عکس کارت ملی
file_mimeنوع دقیق فایل براساس محتوا-application/pdf
file_mime_generalنوع عمومی فایل براساس محتوا-application
file_sizeحجم فایل دریافتیبایت10000
file_durationطول زمان پخش فایل (فیلم و صوت)ثانیه60
file_heightارتفاع قاب فایل (عکس و فیلم)پیکسل1080
file_widthپهنای قاب فایل (عکس و فیلم)پیکسل1920
location_latitudeعرض جغرافیایی (لوکیشن)درجه35.67767765092822
location_longitudeطول جغرافیایی (لوکیشن)درجه51.36976853777408
contact_fnameنام مخاطب (اشتراک گذاری مخاطب)-محمد
contact_lnameنام و نام خانوادگی مخاطب (اشتراک گذاری مخاطب)-ایران‌نژاد
contact_nnameنام مستعار مخاطب (اشتراک گذاری مخاطب)-ایرانی
contact_phoneشماره تماس مخاطب (اشتراک گذاری مخاطب)-09121111111
contact_emailایمیل مخاطب (اشتراک گذاری مخاطب)-mohammad@sahbaa.com

 

به عنوان مثال اگر می خواهید متن ارسالی کاربر را به خودش (یا به فرد یا کانال دیگری …) ارسال کنید می توانید در متن پیام ارسالی بنویسید:

پیام ارسالی شما: <msg>text</msg>
مشاهده اطلاعات ثبت شده در پایگاه داده (dbentry,dbentries)

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

تگ داخلی عنوان
db مشخص کردن شناسه دیتابیس مورد نظر جهت فراخوانی داده
(در فرآیند فرم، اگر این مقدار تعیین نشود، پایگاه داده تعیین شده در تنظیمات فرآیند به عنوان پایگاه داده در نظر گرفته خواهدشد)
entrypeer مشخص کردن شناسه کاربر در صهبات جهت فراخوانی داده
شناسه هر کاربر را از منوی کاربران در هر ربات می توانید دریافت کنید (به شکل 123:123:123 است).
اگر به جای شناسه، عبارت all را وارد کنید، آخرین رکورد را از بین همه کاربران دریافت می کند و اگر از عبارت self استفاده کنید یا کلا از تگ entrypeer استفاده نکنید، اطلاعات رکورد مربوط به کاربری که هم اکنون پیام از او دریافت شده است استفاده خواهدشد.
eid مشخص کردن شناسه عددی رکورد ثبت شده در پایگاه داده جهت فراخوانی داده
(در فرآیند فرم، اگر این مقدار تعیین نشود، رکورد جاری در حال ویرایش، به عنوان شناسه رکورد در نظر گرفته خواهدشد)
notfound مشخص کردن پیام ارسالی در صورت عدم وجود داده مورد نظر

 

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

<dbentry>
اطلاعات شما ثبت شد {name} عزیز!
شماره تماس ثبت نامی شما: {phone}
</dbentry>

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

اطلاعات شما ثبت شد محمد عزیز!

شماره تماس ثبت نامی شما: 09111111111

یا در مثال زیر اگر کاربر خارج از فرآیند فرم با پایگاه داده مدنظر شماست، می‌توانید با تگ <db> شناسه پایگاه داده خود (یا نام انگلیسی آن) را مشخص و داده مورد نظر را فراخوانی کنید.

<dbentry><db>9876543</db>
از خرید شما متشکریم {name} عزیز
</dbentry>

پیام به این صورت ظاهر خواهد شد:

از خرید شما متشکریم محمد عزیز

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

همچنین در تگ dbentry می توانید به جای نام فیلدهای پرشده توسط کاربر (مثل name و phone در مثال ما) .ویژگی های سیستمی مربوط به رکورد را فراخوانی کنید. این ویژگی ها با علامت $ آغاز می شوند:

ویژگی عنوان
$id شناسه رکورد
این ویژگی در تگ order و query در dbentries نیز قابل استفاده است
$peer_sys_id شناسه سیستمی کاربری که رکورد را ایجاد کرده و اطلاعات را پر کرده است به صورت 123:123:123
این ویژگی در تگ order و query در dbentries نیز قابل استفاده است
$startedtime لحظه ایجاد رکورد به شکل: 1404/06/21 14:52:17
این ویژگی در تگ order و query در dbentries نیز قابل استفاده است
$finishedtime لحظه اتمام ویرایش رکورد به شکل: 1404/06/22 14:52:17
این ویژگی در تگ order و query در dbentries نیز قابل استفاده است
$duration فاصله زمانی بین ایجاد و اتمام ویرایش رکورد به شکل 84:15:17:42
(عدد 84 مربوط به تعداد روز است. اگر از یک روز کمتر باشد، نوشته نخواهدشد)

به عنوان مثال:

<dbentry><db>9876543</db>
{name} عزیز، شما در مدت زمان {$duration} به سؤالات ما پاسخ دادید.
کارشناسان ما با شما تماس خواهندگرفت.
کد رهگیری شما: {$id}
</dbentry>

پیام به این صورت ظاهر خواهد شد:

محمد عزیز، شما در مدت زمان 2:17:54 به سؤالات ما پاسخ دادید.
کارشناسان ما با شما تماس خواهندگرفت.
کد رهگیری شما: 21436546573

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

تگ داخلی عنوان
db مشخص کردن شناسه دیتابیس مورد نظر جهت فراخوانی داده‌ها
entry برای نمایش اطلاعات داخل هر رکورد استفاده می‌شود. عملکرد و نحوه نمایش آن دقیقا مثل تگ dbentry می‌باشد و به تعداد رکوردهای تکرار شده پشت سر هم تکرار خواهد شد
noentries مشخص کردن پیام ارسالی در صورت عدم وجود داده‌های مورد نظر
limit تعداد رکوردهای خروجی (حداکثر 20 مورد و امکان تعیین شروع رکوردها از این بخش نیز وجود دارد (offset))
order ترتیب رکوردهای خروجی
(به صورت field1 asc, field2 desc, field3 numasc, field4numdesc)
lastrows هر متنی در این تگ بنویسید فقط در صفحه آخر رکوردها دیده می‌شود
nonlastrows غیر از صفحه آخر رکوردها دیده می‌شود
query کوئری جستجو. مثلا برای پیدا کردن رکوردهایی که مقدار فیلد name در آن ها حاوی علی است و فیلد score در آن ها بالاتر از 15 است می توانیم بنویسیم: name~%علی%&score>15
jsonoutput خروجی را به حالت JSON تبدیل می کند
می توانید همین تگ را به صورت خالی استفاده کنید ولی در صورت نیاز امکان تنظیمات بیشتر وجود دارد. این تنظیمات نیز به صورت یک آبجکت جیسان باید نوشته شود و از این ساختار استفاده شود:
{"Cols":["name","mobile","score"],"Map":{"name":"title","score":"value"},"StrictToMap":false}
البته می توانید فقط هرکدام از ویژگیهایی که نیاز دارید را استفاده کنید.
ویژگی Cols برای این است که فیلدهای خروجی را به فیلدهای مورد نظر خود محدود کنید و بقیه را لود نکنید.
با ویژگی Map تعیین می کنید که نام هر فیلد به چه نام دیگری تغییر کند. مثلا اگر می خواهید از این مقادیر در حالت «چند کلید» استفاده کنید، باید عنوان را به txt و مقدار مورد نظر برای دستور را به cmd تبدیل کنید. مثلا: {"Map":{"name":"txt","mobile":"cmd"}}
StrictToMap نیز تعیین می کند که آیا فقط فیلدهایی لود شوند که در Map ذکر کرده اید یا نه؟ در این صورت نیاز نیست که همان فیلدها را در Cols نیز ذکر کنید.

به هنگام استفاده از پلاگین dbentries علاوه بر مقادیر اصلی رکوردها، مقادیر $count در تگ dbentries و $row در تگ dbentry قابل استفاده هستند. $count تعداد مجموع رکوردهای پیدا شده بر اساس query را نمایش می دهد و $row ردیف رکورد را به متن اضافه می کند.

مثلا برای نمایش نام 3 نفر از پایگاه داده customers می توانیم بنویسیم:

<dbentries><db>customers</db><limit>3</limit>
جمعا اطلاعات {$count} مشتری در سامانه ثبت شده است.
<entry>
{$row}. {name}
</entry>
</dbentries>

که خروجی آن به این صورت خواهدبود:

1. نام مشتری اول
2. نام مشتری دوم
3. نام مشتری سوم
متغیر سراسری

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

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

شماره تماس ما: <gvar>contact</gvar>

که خروجی آن به این صورت خواهدبود :

شماره تماس ما: 09111111111

آدرس: تهران - میدان ولیعصر

روزهای کاری: شنبه تا پنجشنبه 8 تا 16

متغیر فرآیند پیشرفته

با این پلاگین که با تگ var تعریف می شود می توانید مقدار متغیری که در فرآیند پیشرفته تعیین کرده اید را در متن خود استفاده کنید. بنابراین این پلاگین فقط در آیتمهایی قابل استفاده است که در فرآیند پیشرفته اضافه شده اند. مهمترین استفاده آن در بلوک ارسال پیام در فرآیند پیشرفته است. فرض کنید کاربر نمره درس را فرستاده و قرار است شما بگویید این نمره، خوب است، متوسط است یا ضعیف. می توانید بر اساس عملگرهای فرآیند پیشرفته، در متغیری به نام range، خوب، متوسط یا ضعیف بودن نمره را تعیین کنید:

سپس با بلوک ارسال پیام، این متن را به کاربر بفرستید:

سطح نمره شما <var>range</var> می باشد.

اگر نمره متوسط باشد، متن نهایی به این صورت به کاربر فرستاده خواهدشد:

سطح نمره شما متوسط می باشد.

شروط (if,else)

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

قبل از استفاده از پلاگین if، شما باید شرط مد نظر خود را در منوی شروط ربات اضافه کنید. مثلا اگر می خواهیم در صورتی که کاربر عدد بزرگتر یا مساوی 10 ارسال کرد، متن مشخصی به پیام اضافه کنیم و در غیر این صورت، متن دیگری تنظیم کنیم، باید ابتدا این شرط را در منوی شروط اضافه کنیم:

حال می توانیم شناسه این شرط را در پلاگین استفاده کنیم:

شما در این درس <if cid="82444263097366">قبول<else>مردود</if> شده اید.

پس اگر نمره ارسالی کاربر بالای 10 بوده باشد پیغام زیر به کاربر ارسال خواهد شد:

شما در این درس قبول شده اید.

 

اطلاعات پل ارتباطی مورد استفاده (bridge)

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

ویژگیعنوان
sys_idشناسه عددی پل ارتباطی در صهبات
idشناسه عددی پل ارتباطی در پیام‌رسان
typeنام پیام‌رسان
usernameشناسه ربات در پیام‌رسان
titleنام پل ارتباطی در صهبات
webhook_statusوضعیت اتصال پل ارتباطی

به عنوان مثال اگر متن پیام به این صورت باشد:

<bridge>
شناسه عددی پل ارتباطی در پیام‌رسان {id} و وضعیت پل {webhook_status} است.
</bridge>

به این شکل نمایش داده خواهد شد

شناسه عددی پل ارتباطی در پیام‌رسان 987654 و وضعیت پل active است.

نقل قول (quote)

برای این که بتوانید متن خاصی را به صورت دستی در یک JSON وارد کنید، نیاز دارید که کاراکترهای آن سازگاری لازم را پیدا کند و مثلا حاوی دابل کوتیشن (”) نباشد و یا اگر وجود داشت اصطلاحا escape شود و قبل از آن \ قرار بگیرد و … .

پلاگین quote این کار را برای شما انجام می دهد و با آسودگی خاطر می توانید مقادیر کوتیشن دار و فارسی و … را در داخل یک عبارت JSON اضافه کنید.

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

برای این کار داخل تگ quote، تگ jsonvalue را اضافه کنید و مقدار مورد نظر خود را در داخل این تگ وارد کنید. به عنوان مثال:

{"my_text":<quote><jsonvalue>متن "مهم" مورد نظر</jsonvalue></quote>}
فارسی سازی یا انگلیسی سازی اعداد (fanum,ennum)

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

عملیات ریاضی (math)

از این پلاگین می توانید برای انجام بعضی اعمال ریاضی (جمع، تفریق، ضرب، تقسیم، توان (با علامت ^) و بعضی عملیات های پیشرفته تر مثل abs برای قدر مطلق، log برای لگاریتم، sqrt برای مجذور، exp برای به توان رساندن عدد اویلر و توابع مثلثاتی sin، cos، tan و cot) استفاده کنید.

برای مدیریت اعداد اعشاری، توابع floor برای رند کردن عدد به عدد پایین، ceiling برای رند کردن عدد به بالا، round برای رند کردن عدد به نزدیکترین عدد غیراعشاری و truncate برای حذف بخش اعشاری عدد، قابل استفاده هستند.

همچنین تابع sign نیز قابل استفاده است که خروجی آن برای اعداد مثبت، 1، برای اعداد منفی، -1 و برای صفر، مقدار 0 است.

به عنوان مثال، برای نمایش 2 برابر سینوس عدد ارسالی کاربر:

<math>2*sin(<msg>text</msg>)</math>

یا برای نمایش نتیجه تقسیم عدد ارسالی کاربر به 27، بدون در نظر گرفتن بخش اعشاری:

<math>truncate(<msg>text</msg>/27)</math>

همچنین امکان استفاده از شرط نیز با استفاده از تابع if وجود دارد. برای تابع if(z,a,b) اگر شرط z محقق شود، مقدار a جاگذاری می شود و اگر محقق نشود، مقدار b جاگذاری می شود. به عنوان مثال نتیجه این متن، 20 خواهدشد:

<math>if((10>7 or 8<3) and 18/2=9, 15 ,10) + 5</math>

یک مثال در کنار استفاده از پلاگین dbentry در فرآیند فرم:

<math><dbentry>if(({score}>7 or 8<{age}) and {question02}/2=9, 15 ,10) + {question04}</dbentry></math>

فیلترها

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

قالب کلی پلاگین‌ها به همراه فیلترها به شکل زیر است:

<plugin>property|filter</plugin>

یا در صورت استفاده تجمیعی از پلاگین‌ها:

<plugin> ....
... {property1|filter} ...
... {property2|filter} ...
... </plugin>

همچنین امکان استفاده از چندین فیلتر روی یک ویژگی مشخص وجود دارد. مانند:

<plugin>property|filter1|filter2</plugin>

در هر فیلتر نیز امکان تعیین تنظیمات وجود دارد که بخش تنظیمات با :: از نام فیلتر جدا می شود و هر تنظیم نیز با ویرگول انگلیسی از بقیه جدا می شود. به عنوان مثال اگر می خواهیم تنظیماتی را برای filter1 اضافه کنیم:

<plugin>property|filter1::config1,config2,config3:value3,config4|filter2</plugin>

در جدول زیر فهرست فیلترهای مختلف ارائه گردیده است:

فیلتر عنوان نمونه خروجی
num عدد را از سمت راست سه رقم سه رقم با ویرگول جدا می‌کند 123,456,789
date

تغییر نحوه نمایش تاریخ.
ویژگی های پلاگین date در این فیلتر نیز وجود دارند. مثلا اگر خروجی ویژگی، تاریخ 1404/02/12 بود با تعیین modify می توانیم چند روز به آن تاریخ، کم یا زیاد کنیم:
<plugin>property|date::modify:+2 days</plugin>
اگر ورودی ما عدد unix است (تعداد ثانیه های بعد از سال 1970 که معمولا در apiها و ... استفاده می شود) می توانیم از تنظیم value-sec، value-millisec یا value-microsec استفاده کنیم:
<plugin>property|date::value-sec,modify:+2 days</plugin>
یا اگر تقویم مورد نظر ما قمری یا میلدی است می توانیم با calendar آن را مشخص کنیم:
<plugin>property|date::value-sec,modify:+2 days,calendar:gregorian</plugin>
برای تعیین فرمت خروجی نیز نیازی به اسم تنظیمات نیست:
<plugin>property|date::value-sec,modify:+2 days,calendar:gregorian,l d M Y</plugin>
پس در مثال انتهایی ما، فیلتر، یک ورودی unix بر اساس ثانیه را دریافت می کند، 2 روز به آن اضافه می کند و با تقویم میلادی، با فرمتی که نوشته شده آن را چاپ می کند.

1403/12/06 12:20:36
fanum کلیه اعداد، فارسی نمایش داده شوند mohammad۱۲۳۴‎
ennum کلیه اعداد، انگلیسی نمایش داده شوند mohammad1234
q این فیلتر نیز همان عملکرد پلاگین کوتیشن (quote) را برای ویژگی مد نظر ما اعمال می کند و ویژگی/محتوای مشخص شده در بین "" نمایش داده شود. برای خروجی قابل استفاده در json از تنظیم jsonvalue استفاده شود:
<plugin>property|q::jsonvalue</plugin>
"mohammad"

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

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

نام ثبت شده:<dbentry>name|fanum</dbentry>

در این مثال، فیلد name ثبت شده در پایگاه داده برای کاربر نمایش، و اعداد آن به صورت فارسی خواهند بود. اگر نام ثبت شده

mohmmad1234

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

نام ثبت شده: mohammad1234

کاربران

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

پایگاه‌های داده

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

 

شروط

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

سبد خرید

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

مدیران

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

مجموعه‌ها

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

 

در ستون عملیات می‌توانید مجموعه را به صورت سریع یا با جزئیات ویرایش نمایید.

مطالب

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

 

 

فایل‌ها

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

 

 

صهباتفایل‌ها

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

 

 

متغیرهای سراسری

اگر متغیری عمومی (شناسه کاربر) برای ربات خود مدنظر دارید، در بخش متغیرهای سراسری تعیین می‌کنید که مثلا متغیر id به هنگام فراخوانی همواره معادل مقدار خاصی باشد. و دیگر نیازی نیست برای هر فرآیند خود مقدار نوشته شود.

آمار

آمار مصرف منابع و امتیاز ربات به صورت نموداری در این بخش نمایش داده می‌شود.

پرداخت

ربات شما برای تداوم عملکرد از دو واحد درون‌برنامه‌ای «امتیاز» و «الماس» استفاده می‌کند. تعداد الماس مصرفی و تاریخ انقضای الماس به صورت خودکار در فهرست ربات قابل مشاهده هست.

 

 

در صورت نیاز به خریداری الماس یا امتیاز بیش‌تر، به راحتی می‌توانید از بخش پرداخت ربات مقدار واحد درون‌برنامه‌ای مورد نیاز برای تعداد روز مشخص را خریداری نمایید.

 

 

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

بلوک های فرآیند پیشرفته

قبل تر در بخش فرآیندهای ربات، با فرآیند پیشرفته آشنا شدیم.

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

همانطور که در تصویر می بینید، این بلوک ها دسته بندی شده اند و با انتخاب هر دسته، در سمت چپ، بلوک های مربوط به آن دسته نمایش داده می شوند:

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

در حال حاضر، این دسته بندی ها در بخش فرآیند پیشرفته وجود دارند:

دستورها و فرآیندها

این دسته شامل بلوک‌هایی برای کنترل جریان اجرای دستورها و فرآیندهای ربات است.

ورود با دریافت دستور

commands_start

این بلوک نقطه شروع یک فرآیند را بر اساس دستور (متن) ارسالی کاربر مشخص می‌نماید. اصطلاحا به این نوع بلوک ها Trigger نیز گفته می شود که عملکرد یک فرآیند را بر اساس تنظیماتی که برای آن تعیین شده آغاز می کند.

  نام عنوان نوع
فیلدها CMD تعیین دستور برای دریافت
اولین ورود کاربر به فرآیند، با ارسال این متن به طور مستقیم یا با زدن کلیدی که این متن به عنوان دستور آن کلید تعیین شده است انجام می شود.
معروف ترین دستور که برای اولین ورود کاربر به ربات نیز استفاده می شود، دستور /start است
TextInput
  SIMPLEENABLED امکان ورود بدون دستور
وقتی کاربر، قبلا وارد این دستور شده، و پیام جدیدی که ارسال می کند، به عنوان دستور هیچکدام از فرآیندهای ربات تعیین نشده، به عنوان حالت «بدون دستور» وارد همان دستوری می شود که آخرین بار از آن استفاده کرده است.
اگر این گزینه را غیرفعال کنید، کاربر نمی تواند با حالت بدون دستور وارد فرآیند شود و برای استفاده از این فرآیند حتما باید از گزینه های دیگر این بلوک که فعال کرده اید استفاده کند
Checkbox
  EDITENABLED امکان ورود با ویرایش پیام
وقتی کاربر، قبلا وارد این دستور شده، و یکی از پیام ها را ویرایش می کند، به عنوان حالت «ویرایش پیام» وارد همان دستوری می شود که آخرین بار از آن استفاده کرده است.
اگر این گزینه را غیرفعال کنید، کاربر نمی تواند با ویرایش پیام وارد فرآیند شود و برای استفاده از این فرآیند حتما باید از گزینه های دیگر این بلوک که فعال کرده اید استفاده کند
Checkbox
  DELETEENABLED امکان ورود با حذف پیام
وقتی کاربر، قبلا وارد این دستور شده، و یکی از پیام ها را حذف می کند، به عنوان حالت «حذف پیام» وارد همان دستوری می شود که آخرین بار از آن استفاده کرده است.
اگر این گزینه را غیرفعال کنید، کاربر نمی تواند با حذف پیام وارد فرآیند شود و برای استفاده از این فرآیند حتما باید از گزینه های دیگر این بلوک که فعال کرده اید استفاده کند
Checkbox
  ID شناسه بلوک
از این شناسه می توانید در کلیدهای انتقال به فرآیند در تمامی فرآیندها، در بلوک انتقال به فرآیند در فرآیند پیشرفته، در کرونجاب و در بسیاری از حالت های دیگر، به عنوان زیرفرآیند استفاده کنید تا به هنگام اجرای این فرآیند، اجرای فرآیند از همین بلوک آغاز شود
TextInput (با زدن کلید ID دیده می شود)
خروجی خروجی ندارد (فقط به بلوک بعدی متصل می‌شود)  

انتقال به دستور

commands_gotocmd

اجرای فرآیند فعلی را متوقف کرده و کاربر را به یک دستور دیگر منتقل می‌کند.

 نامعنواننوع
ورودی‌هاCMDانتقال به دستورString
 SUBPROCESSشناسه زیرفرآیندNumber (اختیاری)
 OPTاطلاعات بیشترString (اختیاری)
خروجیخروجیندارد (این بلوک پایانی است) 

تعیین دستور

commands_setcmd

دستور فعلی کاربر را بدون اجرا یا انتقال به دستور جدید، به یک دستور جدید تغییر می‌دهد.

 نامعنواننوع
ورودی‌هاCMDدستور مورد نظر برای تعیینString
 SUBPROCESSشناسه زیرفرآیندNumber (اختیاری)
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

اجرای دستور

commands_runcmd

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

 نامعنواننوع
ورودی‌هاCMDدستور مورد نظر برای اجراString
 SUBPROCESSشناسه زیرفرآیندNumber (اختیاری)
 OPTاطلاعات بیشترString (اختیاری)
فیلدهاCHANGEUSERCMDتعیین به عنوان دستور جاری کاربرCheckbox (اختیاری)
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

انتقال به فرآیند

commands_gotoprocess

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

 نامعنواننوع
ورودی‌هاPIDشناسه فرآیند مورد نظر برای انتقالNumber
 SUBPROCESSشناسه زیرفرآیندNumber (اختیاری)
 OPTاطلاعات بیشترString (اختیاری)
خروجیخروجیندارد (این بلوک پایانی است) 

تعیین فرآیند

commands_setprocess

فرآیند بعدی کاربر را بر اساس شناسه، بدون اجرای فوری، تنظیم می‌کند.

 نامعنواننوع
ورودی‌هاPIDتعیین فرآیندNumber
 SUBPROCESSشناسه زیرفرآیندNumber (اختیاری)
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

اجرای فرآیند

commands_runprocess

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

 نامعنواننوع
ورودی‌هاPIDاجرای فرآیندNumber
 SUBPROCESSشناسه زیرفرآیندNumber (اختیاری)
 OPTاطلاعات بیشترString (اختیاری)
فیلدهاCHANGEUSERCMDتعیین به عنوان دستور فعلی کاربرCheckbox (اختیاری)
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

وضعیت تعیین‌شده در کلید

commands_statekeyset

مقدار یا داده‌ای که از طریق یک کلید شیشه‌ای (Callback Query) به ربات ارسال شده را برمی‌گرداند.

 نامعنواننوع
خروجیخروجیوضعیت تعیین‌شده در کلیدString

نگهداری وضعیت دستور

commands_statekeep

وضعیت فعلی دستور را برای دریافت پیام بعدی از کاربر حفظ می‌کند.

  نام عنوان نوع
فیلدها WAIT ادامه با پیام بعدی کاربر Checkbox
  ID شناسه بلوک
از این شناسه می توانید در کلیدهای انتقال به فرآیند در تمامی فرآیندها، در بلوک انتقال به فرآیند در فرآیند پیشرفته، در کرونجاب و در بسیاری از حالت های دیگر، به عنوان زیرفرآیند استفاده کنید تا به هنگام اجرای این فرآیند، اجرای فرآیند از همین بلوک آغاز شود
TextInput (با زدن کلید ID دیده می شود)
خروجی خروجی ندارد (فقط به بلوک بعدی متصل می‌شود)  

وضعیت فعلی دستور

commands_statecurr

وضعیت یا داده ذخیره‌شده در یک دستور را برمی‌گرداند.

 نامعنواننوع
خروجیخروجیوضعیت فعلی دستورString

حذف وضعیت دستور

commands_statedelete

وضعیت ذخیره‌شده برای دستور فعلی کاربر را حذف می‌کند.

 نامعنواننوع
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

کاربر از چه طریقی وارد شده است؟

commands_enteredwith

بررسی می‌کند که کاربر از چه طریقی وارد فرآیند شده است. برای آشنایی بیشتر با نحوه ورود کاربر به فرآیند می توانید فیلدهای مربوط به بلوک «ورود با دریافت دستور» را مشاهده کنید.

 نامعنواننوع
فیلدهاWITHنحوه ورود کاربرDropdown (گزینه‌ها: [دستور، پیام بدون دستور، ویرایش پیام، حذف پیام])
خروجیخروجیآیا کاربر با طریقی که در فیلد «نحوه ورود کاربر» انتخاب شده وارد فرآیند شده است؟Boolean

پیام‌ها

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

ارسال پیام

msgs_sendmsg

یک یا چند پیام را به یک یا چند گیرنده ارسال می‌کند. با کلیک روی آیکن ⚙️ به صفحه تنظیمات پیام (تعیین متن پیام، فایل، کلیدها و …) رفته و پیامهای دلخواهتان را بسازید.

 نامعنواننوع
ورودی‌هاPEERSتغییر گیرندگان (اختیاری)String, Peers, Peer
REPLYTOدر پاسخ به (اختیاری)String, Message
خروجیخروجیلیست شناسه پیام های ارسال شدهString[]

ویرایش پیام

msgs_editmsg

پیامی که تعیین شده را ویرایش می‌کند. با کلیک روی آیکن ⚙️ به صفحه تنظیمات پیام (تعیین متن پیام، فایل، کلیدها و …) رفته و پیام جدید ویرایش شده را بسازید.

 نامعنواننوع
ورودی‌هاMSGشناسه پیام (یا پیام ها) برای ویرایشString, String[], Message
فیلدهاEDIT_TEXTویرایش متنCheckbox
EDIT_KEYBOARDویرایش کیبردCheckbox
EDIT_FILEویرایش فایلCheckbox
PLUGINS_BY_MSG_PEERاِعمال پلاگین مجزا برای هر پیامCheckbox
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

بازارسال (فوروارد) پیام

msgs_forwardmsg

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

 

نام

عنوان

نوع

ورودی‌ها

MSG

شناسه پیام برای بازارسال

String, Message

PEERS

گیرندگان

Peers, Peer

خروجی

خروجی

ندارد (فقط به بلوک بعدی متصل می‌شود)

 


حذف پیام

msgs_deletemsg

یک یا چند پیام مشخص را بر اساس شناسه‌ی آن ها حذف می‌کند.

  نام عنوان نوع
ورودی‌ها MSG تعیین پیام برای حذف
(این ورودی می تواند از جنس پیام باشد، یا شناسه یک پیام، یا لیستی از شناسه های چند پیام)
String, String[], Message
خروجی خروجی ندارد (فقط به بلوک بعدی متصل می‌شود)  

به عنوان مثال، می توانید خروجی بلوک ارسال پیام که لیستی از شناسه پیام های ارسال شده به کاربر است را در یک متغیر وارد کنید و در بلوک حذف پیام، آن متغیر را به عنوان ورودی استفاده کنید.
یا می توانید از منوی پیام ها، شناسه یک پیام مشخص را به طور دستی کپی کرده و به صورت بلوک متن ساده، در ورودی بلوک حذف پیام، کپی کنید.
همچنین می توانید پیام جاری کاربر را به عنوان ورودی این بلوک وارد کنید. مثلا اگر این پیام در گروه ارسال شده و شرایط مد نظر شما را نداشته باشد، توسط این بلوک، به محض ارسال توسط کاربر، حذف می شود. (بررسی شرایط را می توانید با بلوک اگر … آنگاه … انجام دهید)


ارسال یکباررمز

msgs_sendotp

یک کد یکبار مصرف (OTP) را از طریق پل ارتباطی مشخص شده به شماره همراه مقصد ارسال می‌کند.

 نامعنواننوع
ورودی‌هاOTPارسال یکباررمزString
 MOBILEبه شماره همراهNumber
 BRIDGEIDاز پل ارتباطی خودم استفاده شودNumber
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

اطلاعات پیام

msgs_msgdata

یکی از ویژگی‌های پیام انتخاب شده (که اکثرا پیام دریافتی از کاربر ربات است) را استخراج می‌کند.

 نامعنواننوع
ورودی‌هاMSGپیام مورد نظرMessage
فیلدهاTYPEویژگیDropdown (گزینه‌ها: [متن، کپشن یا مقدار، توکن فایل در صهبات، شناسه پیام در صهبات، شناسه برنامک در صهبات، شناسه پیام ریپلای‌شده در صهبات، شناسه پیام فورواردشده در صهبات، شناسه کاربر (گفتگوی) پیام در صهبات، شناسه فرستنده پیام در صهبات، لوکیشن ارسال شده، شناسه کاربر (گفتگوی) بازارسال در صهبات، نوع پیام، نوع فایل، نگهداری پیام])
 TRخروجی فارسیCheckbox (فقط برای نوع پیام و نوع فایل)
خروجیخروجیوابسته به فیلد TYPEString یا Boolean (برای “نگهداری پیام”)

نوع پیام

msgs_msgtype

یکی از انواع پیام‌های ممکن را برمی‌گرداند.

 نامعنواننوع
فیلدهاTYPEنوع پیامDropdown (گزینه‌ها: [متن، فایل، مکان، لاگ، مخاطب، پرداخت، استیکر، جوین، انتخاب کلید، اینلاین کوئری، نتیجه پرداخت])
 TRخروجی فارسیCheckbox
خروجیخروجینوع پیامString

پیام جاری

msgs_msgcurr

پیام فعلی که باعث اجرای این فرآیند شده است را برمی‌گرداند.

 نامعنواننوع
خروجیخروجیپیام جاریMessage

پیام با شناسه

msgs_msg

یک پیام را بر اساس شناسه کامل آن (شامل شناسه پل، شناسه کاربر و شناسه پیام) بازیابی می‌کند.

 نامعنواننوع
ورودی‌هاIDپیام با شناسهString
خروجیخروجیپیامMessage

فرستنده پیام جاری

peers_sendercurr

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

 نامعنواننوع
خروجیخروجیفرستنده پیام جاریPeer

ذخیره و فراخوانی داده‌ها

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

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

database_lastentryidfromall

شناسه آخرین رکوردی که ویرایش آن برای کاربر مشخصی به اتمام رسیده است را برمی‌گرداند.

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
خروجیخروجیشناسه رکوردNumber

 

شناسه آخرین رکورد پایان یافته در پایگاه داده

database_lastentryid

شناسه آخرین رکوردی که ویرایش آن برای کاربر مشخصی به اتمام رسیده است را برمی‌گرداند.

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
 PEERبرای کاربرPeer
فیلدهاCREATENEWایجاد در صورت عدم وجودCheckbox
خروجیخروجیشناسه رکوردNumber

شناسه رکورد در حال ویرایش در پایگاه داده

database_editingentryid

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

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
 PEERبرای کاربرPeer
فیلدهاCREATENEWایجاد در صورت عدم وجودCheckbox
خروجیخروجیشناسه رکوردNumber

 


اتمام ویرایش رکورد جاری در پایگاه داده

database_finishentry

وضعیت ویرایش یک رکورد را برای کاربر مشخصی به حالت “پایان‌یافته” تغییر می‌دهد.

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
 PEERبرای کاربرPeer
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

حذف رکورد از پایگاه داده

database_removeentries

یک یا چند رکورد را از جدول پایگاه داده مشخص شده حذف می‌کند.

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
 ENTRYIDSرکورد یا رکوردهاNumber, Number[]
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

اطلاعات رکورد

database_entrydata

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

 نامعنواننوع
ورودی‌هاENTRYرکورد مورد نظرEntry
 FIELDNAMEنام فیلدString (فقط برای “مقدار فیلد”)
فیلدهاTYPEویژگیDropdown (گزینه‌ها: [شناسه رکورد، شناسه کاربر، زمان شروع، زمان پایان، تعداد فیلدها، مقدار فیلد])
خروجیخروجیوابسته به فیلد TYPENumber (برای شناسه و تعداد فیلدها)، String (برای شناسه کاربر و مقدار فیلد)، DateTime (برای زمان‌ها)

دریافت رکورد پایگاه داده

database_entry

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

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
 ENTRYIDشناسه رکوردNumber
خروجیخروجیرکوردEntry

دریافت رکوردهای پایگاه داده

database_entries

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

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
 SEARCHQUERYکوئری جستجوString
 OFFSETشماره ردیفNumber
 LIMITتعداد رکورد خروجیNumber
 RECORDSORDERترتیب رکوردهاString
 FIELDNAMESبا دریافت این فیلدها JSON تبدیل بهString, String[]
 PEERبرای کاربر (اختیاری)Peer
خروجیخروجیلیست رکوردهاEntry[], Json

تعداد رکوردهای پایگاه داده

database_entriescount

تعداد رکوردهای یک جدول را که با کوئری جستجو مطابقت دارند، برمی‌گرداند.

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
 SEARCHQUERYکوئری جستجوString
 PEERفقط رکوردهای این کاربرPeer
خروجیخروجیتعداد رکوردهاNumber

ذخیره یک فیلد در پایگاه داده

database_savefield

مقدار یک فیلد خاص را در یک رکورد مشخص، ذخیره یا به‌روزرسانی می‌کند.

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
 ENTRYIDشناسه رکوردNumber
 FIELDNAMEنام فیلدString
 NEWVALUEمقدار برای ذخیرهString
 PEERبرای کاربر (اختیاری)Peer
فیلدهاFINISHاتمام ویرایشCheckbox
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

ذخیره چند فیلد در پایگاه داده

database_savefields

مقادیر چندین فیلد را به صورت یکجا در یک رکورد مشخص ذخیره می‌کند.

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
 ENTRYIDشناسه رکوردNumber
 PEERبرای کاربر (اختیاری)Peer
 fieldvalue_i[مقدار فیلد i]String
فیلدهاfieldname_i[نام فیلد i]TextInput
FINISHاتمام ویرایشCheckbox
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

ایجاد رکورد جدید در پایگاه داده

database_insertnewrow

یک رکورد جدید در جدول مشخص شده ایجاد کرده و شناسه آن را برمی‌گرداند.

 نامعنواننوع
ورودی‌هاDATABASEIDنام یا شناسه عددی پایگاه دادهNumber, String
 PEERبرای کاربرPeer
خروجیخروجیشناسه رکورد جدیدNumber

اتصال به API

database_connectiontoapi

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

 نامعنواننوع
ورودی‌هاAPIURLAPI اتصال بهString
 DATATOSENDداده‌های ارسالیString, Json
 HEADERSهدرهاString, String[], Array
فیلدهاMETHODنوع درخواستDropdown (گزینه‌ها: [POST, GET, DELETE, PUT, PATCH, HEAD, MERGE, OPTIONS, COPY])
 CONTENTTYPEنوع داده‌هاDropdown (گزینه‌ها: [application/json, text/plain, application/x-www-form-urlencoded, multipart/form-data, text/xml])
 OUTPUTTYPEنوع خروجیDropdown (گزینه‌ها: [JSON, XML (یا Html), متن خام, فایل خام])
خروجیخروجیپاسخ APIJson, Xml, String, RawFile (بسته به فیلد OUTPUTTYPE)

اتصال به API تحریم‌شده

database_connectiontoapi_nosanc

مشابه “اتصال به API” است، اما برای سرویس‌هایی که ممکن است تحریم شده باشند، از سرور واسط استفاده می‌کند.

 نامعنواننوع
ورودی‌هاAPIURLتحریم‌شده API اتصال بهString
 DATATOSENDداده‌های ارسالیString
 HEADERSهدرهاString, String[], Array
فیلدهاMETHODنوع درخواستDropdown (گزینه‌ها: [POST, GET, DELETE, PUT, PATCH, HEAD, MERGE, OPTIONS, COPY])
 CONTENTTYPEنوع داده‌هاDropdown (گزینه‌ها: [application/json, text/plain, application/x-www-form-urlencoded, multipart/form-data, text/xml])
 OUTPUTTYPEنوع خروجیDropdown (گزینه‌ها: [JSON, XML (یا Html), متن خام, فایل خام])
خروجیخروجیپاسخ APIJson, Xml, String, RawFile (بسته به فیلد OUTPUTTYPE)

جستجو در اکسل

database_excel

داده‌هایی را از یک فایل اکسل بر اساس ستون‌ها و کوئری جستجو استخراج می‌کند.

 نامعنواننوع
ورودی‌هاFILEجستجو در اکسلSFile
 COLUMNSانتخاب ستون‌هاString, StringArray
 SEARCHQUERYکوئری جستجوی ردیف‌هاString
 RECORDSORDERترتیب رکوردهاString
 RESULTOFFSETتعداد پرش رکوردها از ابتداNumber
 RESULTLIMITتعداد رکورد خروجیNumber
 OFFSETBEFOREتعداد حذف ردیف قبل از جستجوNumber
فیلدهاHASHEADERSعناوین در ردیف اول هستندCheckbox
خروجیخروجینتیجه جستجوJson

تعداد رکوردهای اکسل

database_excelcount

تعداد ردیف‌هایی را که با کوئری جستجو در یک فایل اکسل مطابقت دارند، برمی‌گرداند.

 نامعنواننوع
ورودی‌هاFILEتعداد رکوردهای اکسلSFile
 SEARCHQUERYکوئری جستجوString
 OFFSETBEFOREتعداد حذف ردیف قبل از جستجوNumber
خروجیخروجیتعداد رکوردهاNumber

کاربران

بلوک‌های این دسته برای مدیریت اطلاعات کاربران، گروه‌های کاربری و پل‌های ارتباطی به کار می‌روند.

نوع پل ارتباطی

peers_bridgetype

یکی از انواع پل‌های ارتباطی موجود را برمی‌گرداند.

 نامعنواننوع
فیلدهاTYPEنوع پل ارتباطیDropdown (گزینه‌ها: [بله، آیگپ، ربات فرستنده ایتا، تلگرام، بله (GetUpdates)، تلگرام (GetUpdates)، صهبات در تلگرام، صهبات در بله، صهبات در گپ، صهبات])
 TRخروجی فارسیCheckbox
خروجیخروجینوع پلString

عنوان گروه کاربری

peers_usergrouptitle

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

 نامعنواننوع
ورودی‌هاIDشناسه گروه کاربریString
خروجیخروجیعنوان گروهString

کاربر (گفتگوی) جاری

peers_peercurr

کاربر یا گفتگوی فعلی (که فرآیند برای او اجرا می‌شود) را برمی‌گرداند.

 نامعنواننوع
خروجیخروجیکاربر جاریPeer

کاربر (گفتگو) با شناسه

peers_peer

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

 نامعنواننوع
ورودی‌هاIDکاربر (گفتگو) با شناسهString
خروجیخروجیکاربرPeer

کاربران

peers_peers

مجموعه‌ای از کاربران را برای استفاده در بلوک “ارسال پیام” ایجاد می‌کند.

 نامعنواننوع
ورودی‌هاVALUEکاربرانString, Peers, Peer
 JOINو افزودنString, Peers, Peer
خروجیخروجیلیست کاربرانPeers

گروه های کاربری

peers_peersbyusergroup

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

  نام عنوان نوع
ورودی‌ها VALUE شناسه یا نام انگلیسی گروه های کاربری
مثال: 12345,admin,registered,67890
String
  JOIN و افزودن String
خروجی خروجی لیست کاربران Peers

تعیین گروه کاربر

peers_setusergroup

یک کاربر را به یک گروه کاربری اضافه می‌کند.

 نامعنواننوع
ورودی‌هاPEERکاربرString, Peer
 IDگروه کاربریString, Number
فیلدهاDELETECURRENTحذف گروه‌های کاربری فعلیCheckbox
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

حذف از گروه های کاربر

peers_unsetusergroup

یک کاربر را از یک گروه کاربری مشخص حذف می‌کند.

 نامعنواننوع
ورودی‌هاPEERکاربرString, Peer
 IDگروه کاربریString, Number
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

اطلاعات کاربر

peers_peerdata

یکی از ویژگی‌های یک کاربر یا گفتگوی مشخص (معمولا گفتگوی جاری) را استخراج می‌کند.

  نام عنوان نوع
ورودی‌ها PEER کاربر مورد نظر Peer
فیلدها TYPE ویژگی Dropdown (گزینه‌ها: [شناسه در صهبات، نوع، نام کاربری، شناسه در برنامه، شناسه پل ارتباطی، عنوان پل ارتباطی، نوع پل ارتباطی، عنوان، شناسه گروه‌های کاربری، عناوین گروه‌های کاربری، نام انگلیسی گروه‌های کاربری، ادمین است، ربات است، عضو کانال است، عضو پل ارتباطی است])
  TR خروجی فارسی Checkbox (برای برخی گزینه‌ها)
  CHANNEL کانال یا گروه Peer (فقط برای "عضو کانال است" و "ادمین است")
باید از منوی کاربران ربات، شناسه کانال یا گروه مورد نظر در صهبات را کپی کرده و به عنوان ورودی این بخش، در یک بلوک متنی کپی کنید.
  USERGROUP گروه کاربری String (فقط برای "عضو گروه کاربری است")
باید نام انگلیسی یا شناسه کاربری گروه کاربری مورد نظرتان را به عنوان ورودی این بخش، در یک بلوک متنی کپی کنید.
خروجی خروجی وابسته به فیلد TYPE String, String[], Boolean (بسته به ویژگی انتخابی)

نوع کاربر(گفتگو)/فرستنده

peers_peertype

یکی از انواع گفتگو (کاربر، ربات، گروه، کانال) را برمی‌گرداند.

 نامعنواننوع
فیلدهاTYPEنوع کاربر(گفتگو)/فرستندهDropdown (گزینه‌ها: [خصوصی، ربات، گروه، کانال])
 TRخروجی فارسیCheckbox
خروجیخروجینوع کاربرString

جستجو بین کاربران ربات

peers_peerssearch

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

 نامعنواننوع
ورودی‌هاSEARCHQUERYجستجو بین کاربران رباتString
 OFFSETشماره ردیفNumber
 LIMITتعداد رکورد خروجیNumber
خروجیخروجیلیست کاربرانPeer[]

فایل‌ها

بلوک‌های این دسته برای مدیریت فایل‌ها در سیستم (File, SFile, RawFile) استفاده می‌شوند.

فایل جاری

files_filecurr

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

 نامعنواننوع
خروجیخروجیفایل جاریFile

فایل با توکن

files_file

یک فایل موقت (که هنوز در سیستم صهبات ذخیره دائمی نشده) را بر اساس توکن آن بازیابی می‌کند.

 نامعنواننوع
ورودی‌هاIDفایل با توکنString
خروجیخروجیفایل موقتFile

صهبات‌فایل با توکن

files_sfile

یک فایل ذخیره‌شده در صهبات (SFile) را بر اساس توکن آن بازیابی می‌کند.

 نامعنواننوع
ورودی‌هاIDصهبات‌فایل با توکنString
خروجیخروجیفایل صهباتSFile

فایل خام با توکن

files_rawfile

یک فایل خام (معمولاً خروجی عملیات پردازش تصویر) را بر اساس توکن آن بازیابی می‌کند.

 نامعنواننوع
ورودی‌هاIDفایل خام با توکنString
خروجیخروجیفایل خامRawFile

اطلاعات فایل

files_filedata

یکی از ویژگی‌های یک فایل (File) را استخراج می‌کند.

 نامعنواننوع
ورودی‌هاFILEفایل مورد نظرFile
فیلدهاTYPEویژگیDropdown (گزینه‌ها: [حجم فایل، لینک مستقیم، انقضای لینک مستقیم، آخرین استفاده، توکن فایل، توکن صهبات‌فایل (در صورت وجود)، نوع فایل، فرمت فایل، مدت، عرض، ارتفاع، نام فایل، تصویر بندانگشتی، نگهداری فایل])
 TRخروجی فارسیCheckbox (فقط برای “نوع فایل”)
خروجیخروجیوابسته به فیلد TYPENumber, String, DateTime, Float, Boolean

اطلاعات صهبات‌فایل

files_sfiledata

یکی از ویژگی‌های یک صهبات‌فایل (SFile) را استخراج می‌کند.

 نامعنواننوع
ورودی‌هاFILEصهبات‌فایل مورد نظرSFile
فیلدهاTYPEویژگیDropdown (گزینه‌ها: [حجم فایل، لینک مستقیم، انقضای لینک مستقیم، آخرین استفاده، توکن فایل، نوع فایل، فرمت فایل، مدت، عرض، ارتفاع، نام فایل، تصویر بندانگشتی، نگهداری فایل])
 TRخروجی فارسیCheckbox (فقط برای “نوع فایل”)
خروجیخروجیوابسته به فیلد TYPENumber, String, DateTime, Float, Boolean

اطلاعات فایل خام

files_rawfiledata

یکی از ویژگی‌های یک فایل خام (RawFile) را استخراج می‌کند.

 نامعنواننوع
ورودی‌هاFILEفایل خام مورد نظرRawFile
فیلدهاTYPEویژگیDropdown (گزینه‌ها: [حجم فایل، آخرین استفاده، توکن فایل، حجم دانلودشده فایل، نام فایل])
خروجیخروجیوابسته به فیلد TYPENumber, String, DateTime

نوع فایل

files_filetype

یکی از انواع فایل (تصویر، ویدیو، …) را برمی‌گرداند.

 نامعنواننوع
فیلدهاTYPEنوع فایلDropdown (گزینه‌ها: [تصویر، ویدیو، صوت، صدا، گیف، فایل ساده])
 TRخروجی فارسیCheckbox
خروجیخروجینوع فایلString

ذخیره فایل در صهبات

files_filesave

یک فایل موقت یا خام را در سیستم فایل صهبات ذخیره کرده و یک SFile برمی‌گرداند.

 نامعنواننوع
ورودی‌هاFILEذخیره فایل در صهباتFile, RawFile
فیلدهاSTOREنگهداری بیش از 24ساعتCheckbox
خروجیخروجیفایل ذخیره‌شدهSFile

ویرایش فایل

files_fileedit

اطلاعات یک فایل موقت را ویرایش می‌کند.

 نامعنواننوع
ورودی‌هاFILEویرایش فایلFile
 NAMEنام جدید فایلString
 STOREنگهداری بیش از 24ساعتBoolean
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

ویرایش صهبات‌فایل

files_sfileedit

اطلاعات یک فایل ذخیره‌شده در صهبات را ویرایش می‌کند.

 نامعنواننوع
ورودی‌هاFILEویرایش صهبات‌فایلFile
 NAMEنام جدید فایلString
 STOREنگهداری بیش از 24ساعتBoolean
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

مطالب و مجموعه‌ها

این دسته برای کار با سیستم مدیریت محتوای داخلی (مطالب و مجموعه‌ها) طراحی شده است.

مطلب با شناسه

articles_article

یک مطلب خاص را بر اساس شناسه آن بازیابی می‌کند.

 نامعنواننوع
ورودی‌هاIDمطلب با شناسهNumber
خروجیخروجیمطلبArticle

مجموعه با شناسه

articles_category

یک مجموعه خاص را بر اساس شناسه آن بازیابی می‌کند.

 نامعنواننوع
ورودی‌هاIDمجموعه با شناسهNumber
خروجیخروجیمجموعهCategory

اطلاعات مطلب

articles_articledata

یکی از ویژگی‌های یک مطلب را استخراج می‌کند.

 نامعنواننوع
ورودی‌هاARTICLEدر [مطلب]Article
فیلدهاTYPEویژگیDropdown (گزینه‌ها: [شناسه مطلب، عنوان مطلب، توضیحات، کد مطلب، زمان ایجاد، زمان آخرین ویرایش، زمان شروع انتشار، زمان پایان انتشار، ترتیب، تعداد بازدیدها، وضعیت، نوع، قیمت‌ها، مجموعه‌ها])
 TRخروجی فارسیCheckbox (فقط برای “نوع” و “وضعیت”)
خروجیخروجیوابسته به فیلد TYPEString, Number, Json, Category[], DateTime

اطلاعات مجموعه

articles_categorydata

یکی از ویژگی‌های مربوط به مجموعه مورد نظر را استخراج می‌کند.

 نامعنواننوع
ورودی‌هاCATEGORYمجموعه مورد نظرCategory
فیلدهاTYPEویژگیDropdown (گزینه‌ها: [شناسه مجموعه، عنوان مجموعه، توضیحات، کد مجموعه، نوع، والد، وضعیت، زمان ایجاد، زمان آخرین ویرایش، زیر مجموعه‌ها، تعداد زیر مجموعه‌ها])
 TRخروجی فارسیCheckbox (فقط برای “نوع” و “وضعیت”)
خروجیخروجیوابسته به فیلد TYPENumber, String, DateTime, Category, Category[]

دریافت مطالب

articles_articles

لیستی از مطالب را بر اساس کوئری جستجو و فیلترهای دیگر بازیابی می‌کند.

 نامعنواننوع
ورودی‌هاSEARCHQUERYکوئری جستجوString
 OFFSETشماره ردیفNumber
 LIMITتعداد رکورد خروجیNumber
 CATEGORIESمجموعه‌هاNumber, Number[], Array
خروجیخروجیلیست مطالبArticle[]

دریافت مجموعه‌ها

articles_categories

لیستی از مجموعه‌ها را بر اساس کوئری جستجو و فیلترهای دیگر بازیابی می‌کند.

 نامعنواننوع
ورودی‌هاSEARCHQUERYکوئری جستجوString
 OFFSETشماره ردیفNumber
 LIMITتعداد رکورد خروجیNumber
خروجیخروجیلیست مجموعه‌هاCategory[]

دریافت تعداد مطالب

articles_articlescount

تعداد مطالبی که با شرایط جستجو مطابقت دارند را برمی‌گرداند.

 نامعنواننوع
ورودی‌هاSEARCHQUERYکوئری جستجوString
 CATEGORIESمجموعه‌هاNumber, Number[]
خروجیخروجیتعداد مطالبNumber

نوع مطلب

articles_articletype

یکی از انواع مطلب را برمی‌گرداند.

 نامعنواننوع
فیلدهاTYPEنوع مطلبDropdown (گزینه‌ها: [ساده])
 TRخروجی فارسیCheckbox
خروجیخروجینوع مطلبString

وضعیت مطلب

articles_articlestatus

یکی از وضعیت‌های ممکن برای یک مطلب را برمی‌گرداند.

 نامعنواننوع
فیلدهاTYPEوضعیت مطلبDropdown (گزینه‌ها: [غیرفعال، تعلیق‌شده، فعال])
 TRخروجی فارسیCheckbox
خروجیخروجیوضعیت مطلبString

نوع مجموعه

articles_articlecategorytype

یکی از انواع مجموعه را برمی‌گرداند.

 نامعنواننوع
فیلدهاTYPEنوع مجموعهDropdown (گزینه‌ها: [ساده])
 TRخروجی فارسیCheckbox
خروجیخروجینوع مجموعهString

وضعیت مجموعه

articles_articlecategorystatus

یکی از وضعیت‌های ممکن برای یک مجموعه را برمی‌گرداند.

 نامعنواننوع
فیلدهاTYPEوضعیت مجموعهDropdown (گزینه‌ها: [غیرفعال، تعلیق‌شده، فعال])
 TRخروجی فارسیCheckbox
خروجیخروجیوضعیت مجموعهString

پرداخت و تراکنش‌ها

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

تراکنش با شناسه

payment_transaction

یک تراکنش مالی را بر اساس شناسه آن بازیابی می‌کند.

 نامعنواننوع
ورودی‌هاIDتراکنش با شناسهString
خروجیخروجیتراکنشTransaction

اطلاعات تراکنش

payment_transactiondata

یکی از ویژگی‌های مربوط به تراکنش مالی مورد نظر را استخراج می‌کند.

 نامعنواننوع
ورودی‌هاTRANSACTIONتراکنش مورد نظرTransaction
فیلدهاTYPEویژگیDropdown (گزینه‌ها: [شناسه تراکنش، نوع تراکنش، مبلغ تراکنش، وضعیت تراکنش، کد رهگیری تراکنش، شناسه درگاه پرداخت، لینک پرداخت، زمان بروزرسانی، زمان ایجاد تراکنش])
 TRخروجی فارسیCheckbox (فقط برای “نوع” و “وضعیت”)
خروجیخروجیوابسته به فیلد TYPEString, DateTime, Number

ایجاد تراکنش

payment_transactionset

یک تراکنش جدید با مبلغ تعیین شده برای درگاه پرداخت مورد نظر شما ایجاد کرده و آن را برمی‌گرداند.

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

 نامعنواننوع
ورودی‌هاAMOUNTمبلغ تراکنش (ریال)Number
 GATEWAYIDشناسه درگاه پرداختNumber
خروجیخروجیتراکنشTransaction

دریافت تراکنش‌ها

payment_transactions

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

 نامعنواننوع
ورودی‌هاSEARCHQUERYکوئری جستجوString
 OFFSETشماره ردیفNumber
 LIMITتعداد رکورد خروجیNumber
خروجیخروجیلیست تراکنش‌هاTransaction[]

نوع تراکنش

payment_transactiontype

یکی از انواع تراکنش‌های مالی را برمی‌گرداند.

 نامعنواننوع
فیلدهاTYPEنوع تراکنشDropdown (گزینه‌ها: [افزایش اعتبار، خرید، پرداخت])
 TRخروجی فارسیCheckbox
خروجیخروجینوع تراکنشString

وضعیت تراکنش

payment_transactionstate

یکی از وضعیت‌های ممکن برای یک تراکنش مالی را برمی‌گرداند.

 نامعنواننوع
فیلدهاTYPEوضعیت تراکنشDropdown (گزینه‌ها: [پرداخت نشده، پرداخت شده، لغو شده، خطا])
 TRخروجی فارسیCheckbox
خروجیخروجیوضعیت تراکنشString

ابزارها

این دسته شامل بلوک‌های کاربردی عمومی برای کار با تاریخ، اعداد، رشته‌ها و JSON است.

تولید کد تصادفی

tools_randomcode

یک کد تصادفی با طول و کاراکترهای مشخص تولید می‌کند.

 نامعنواننوع
ورودی‌هاCHARACTERSبا کاراکترهایString
 MINCOUNTحداقل تعداد کاراکترهاNumber
 MAXCOUNTحداکثر تعداد کاراکترهاNumber
خروجیخروجیکد تصادفیString

زمان جاری

tools_datecurr

زمان و تاریخ فعلی سرور را برمی‌گرداند.

 نامعنواننوع
خروجیخروجیزمان جاریDateTime

دریافت زمان

tools_dateget

یک رشته یا عدد (Unix Timestamp) را به یک شیء زمان تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاDATESTRدریافت زمانString, Number
فیلدهاTYPEبر اساس تقویمDropdown (گزینه‌ها: [شمسی، میلادی، قمری (آزمایشی)])
خروجیخروجیزمانDateTime

فرمت زمان

tools_dateformat

یک شیء زمان را به رشته متنی با فرمت دلخواه تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاDATEفرمت زمانDateTime
 FORMATفرمتString
فیلدهاTYPEبر اساس تقویمDropdown (گزینه‌ها: [شمسی، میلادی، قمری (آزمایشی)])
خروجیخروجیزمان فرمت‌بندی‌شدهString

زمان به UNIX

tools_datetounix

یک شیء زمان را به معادل Unix Timestamp (تعداد ثانیه‌های گذشته از مبدأ) تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاDATEUNIX زمان بهDateTime
خروجیخروجیUnix TimestampNumber

تعداد فرزندان JSON

tools_jsonchildrencount

تعداد فرزندان (آیتم‌های آرایه یا کلیدهای شیء) یک شیء JSON را برمی‌گرداند.

 نامعنواننوع
ورودی‌هاJSONJSON تعداد فرزندانJson
خروجیخروجیتعدادNumber

تبدیل متن به عدد

tools_texttonumber

یک رشته متنی را به نوع عددی تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاTEXTتبدیل متن به عددString
خروجیخروجیعددNumber

تبدیل عدد به متن

tools_numbertotext

یک عدد را به رشته متنی تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاNUMBERتبدیل عدد به متنNumber, Float
خروجیخروجیمتنString

تبدیل JSON به متن

tools_jsontotext

یک شیء JSON را به نمایش رشته‌ای آن تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاJSONبه متن JSON تبدیلJson
خروجیخروجیمتنString

تبدیل به JSON

tools_anytojson

مقادیر مختلف را به یک JSON تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاOBJECTمقدار ورودی برای تبدیلString, Transaction, Category, Article, Peer, Entry, Xml, Message, File, SFile, RawFile, Array, Json[], String[], Number[], Float[], Json[], Transaction[], Category[], Article[], Peer[], Entry[]
خروجیخروجیJSONJson

تبدیل به متن

tools_anytotext

این بلوک، مقادیر مختلف را به یک متن ساده تبدیل می‌کند. ورودی از هر جنسی که باشد، آن را به شکل قابل قبولی از متن تبدیل می کند. به عنوان مثال، اگر ورودی، آرایه متن باشد (String[]) آن ها را با ویرگول انگلیسی به هم متصل می کند.

 نامعنواننوع
ورودی‌هاOBJECTمقدار ورودی برای تبدیلString, Number, Float, Transaction, Category, Article, Peer, Entry, Xml, Message, File, SFile, RawFile, Array, Json[], String[], Number[], Float[], Json[], Transaction[], Category[], Article[], Peer[], Entry[]
خروجیخروجیمتنString

JSON دریافت یک مقدار از

tools_jsonvalue

یک مقدار خاص را از داخل یک شیء JSON با استفاده از یک مسیر (Path) استخراج می‌کند.

 نامعنواننوع
ورودی‌هاJSONJSON دریافت یک مقدار ازJson
 VALUEمقدارString
فیلدهاOUTPUTTYPEنوع خروجیDropdown (گزینه‌ها: [متن، عدد، JSON])
خروجیخروجیمقدار استخراج‌شدهString, Number, Json (بسته به فیلد OUTPUTTYPE)

JSON جستجو در

tools_jsonsearch

یک یا چند مقدار را از داخل یک شیء JSON با استفاده از کوئری JSONPath جستجو می‌کند.

 نامعنواننوع
ورودی‌هاJSONJSON جستجو درJson
 SEARCHQUERYکوئری جستجوString
خروجیخروجینتایج جستجوJson[]

اسکِیپ متن

tools_escapetext

کاراکترهای خاص در یک رشته را برای استفاده امن در فرمت‌های مختلف (مانند JSON, URL) اِسکِیپ می‌کند.

 نامعنواننوع
ورودی‌هاTEXTاسکِیپ متنString
فیلدهاESCAPETYPEبرایDropdown (گزینه‌ها: [JSON, URL, REGEX, HTML])
 QUOTATIONTYPEبر اساسDropdown (گزینه‌ها: [دابل کوتیشن, تک کوتیشن])
خروجیخروجیمتن اِسکیپ‌شدهString

تصاویر

این دسته برای ایجاد، ویرایش و پردازش تصاویر به کار می‌رود.

وارد کردن تصویر از فایل

image_import

یک فایل (File, SFile, RawFile) را به یک شیء تصویر قابل پردازش تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاFILEوارد کردن تصویر از فایلSFile, File, RawFile
خروجیخروجیتصویرImage

ایجاد تصویر خالی

image_blank

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

 نامعنواننوع
ورودی‌هاWIDTHعرض تصویرNumber
 HEIGHTارتفاع تصویرNumber
 COLORرنگ تصویرColour
خروجیخروجیتصویرImage

ایجاد تصویر از متن

image_fromtext

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

 نامعنواننوع
ورودی‌هاTEXTمتنString
 SIZEسایز فونتNumber
 FONTفونتSFile, File, RawFile
 BCOLORرنگ پس زمینهColour
 COLORرنگ متنColour
 WIDTHعرض تصویرNumber
 HEIGHTارتفاع تصویرNumber
فیلدهاPOSITIONموقعیت متنDropdown (گزینه‌ها: [وسط وسط، بالا چپ، بالا وسط، بالا راست، وسط چپ، وسط راست، پایین چپ، پایین وسط، پایین راست])
 WEIGHTضخامت متنDropdown (گزینه‌ها: [چهار، یک، دو، سه، پنج، شش، هفت، هشت، نُه])
 RTLراست به چپCheckbox
خروجیخروجیتصویرImage

ترکیب دو تصویر

image_composite

یک تصویر را روی تصویر دیگر در موقعیت مشخصی قرار می‌دهد.

 نامعنواننوع
ورودی‌هاIMAGEBASEتصویر زیرینImage
 IMAGETOPتصویر رویینImage
 Xموقعیت از چپNumber
 Yموقعیت از بالاNumber
فیلدهاPOSITIONموقعیت تصویر رویینDropdown (گزینه‌ها: [وسط وسط، بالا چپ، بالا وسط، بالا راست، وسط چپ، وسط راست، پایین چپ، پایین وسط، پایین راست])
خروجیخروجیتصویر ترکیب‌شدهImage

خروجی گرفتن از تصویر

image_export

یک شیء تصویر را به یک فایل خام (RawFile) قابل ذخیره‌سازی یا ارسال تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاIMAGEخروجی گرفتن از تصویرImage
 NAMEنام فایلString
خروجیخروجیفایل خامRawFile

تغییر مقیاس تصویر

image_scale

اندازه یک تصویر را به عرض و ارتفاع جدید تغییر می‌دهد.

 نامعنواننوع
ورودی‌هاIMAGEتغییر مقیاس تصویرImage
 WIDTHعرض تصویرNumber, String
 HEIGHTارتفاع تصویرNumber, String
فیلدهاRATIOحفظ نسبت طول به عرضCheckbox
خروجیخروجیتصویر تغییر مقیاس‌یافتهImage

برش تصویر

image_crop

قسمتی از یک تصویر را بر اساس موقعیت و ابعاد مشخص برش می‌دهد.

 نامعنواننوع
ورودی‌هاIMAGEبرش تصویرImage
 Xنقطه شروع از چپNumber
 Yنقطه شروع از بالاNumber
 WIDTHبه عرضNumber
 HEIGHTبه ارتفاعNumber
فیلدهاPOSITIONموقعیتDropdown (گزینه‌ها: [وسط وسط، بالا چپ، بالا وسط، بالا راست، وسط چپ، وسط راست، پایین چپ، پایین وسط، پایین راست])
 RATIOحفظ نسبت طول به عرضCheckbox
خروجیخروجیتصویر برش‌خوردهImage

عملگرها

این دسته شامل بلوک‌های منطقی استاندارد برای ایجاد شرط‌ها و مقایسه‌هاست.

اگر … آنگاه …

controls_if

یک یا چند شرط را بررسی کرده و در صورت درست بودن، کد مربوطه را اجرا می‌کند.

 نامعنواننوع
ورودی‌هاIF0اگرBoolean
 DO0آنگاهStatement (دستورات)
 IF…در غیر این صورت اگرBoolean (اختیاری)
 DO…آنگاهStatement (اختیاری)
 ELSEدر غیر این صورتStatement (اختیاری)
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

مقایسه

logic_compare

دو مقدار را با یکدیگر مقایسه می‌کند و نتیجه را به صورت درست/نادرست برمی‌گرداند.

 نامعنواننوع
ورودی‌هاA(مقدار اول)Any
 B(مقدار دوم)Any
فیلدهاOP(عملگر)Dropdown (گزینه‌ها: [=، ≠، <، ≤، >، ≥])
خروجیخروجینتیجه مقایسهBoolean

عملیات منطقی

logic_operation

دو شرط بولی را با عملگر ‘و’ یا ‘یا’ ترکیب می‌کند.

 نامعنواننوع
ورودی‌هاA(شرط اول)Boolean
 B(شرط دوم)Boolean
فیلدهاOP(عملگر)Dropdown (گزینه‌ها: [و، یا])
خروجیخروجینتیجه ترکیبBoolean

نقیض

logic_negate

نتیجه یک شرط بولی را معکوس می‌کند (درست را به نادرست و بالعکس).

 نامعنواننوع
ورودی‌هاBOOLنقیضBoolean
خروجیخروجینتیجه معکوسBoolean

بولی

logic_boolean

یک مقدار ثابت درست یا نادرست را برمی‌گرداند.

 نامعنواننوع
فیلدهاBOOL(مقدار)Dropdown (گزینه‌ها: [درست، نادرست])
خروجیخروجیمقدار بولیBoolean

پوچ

logic_null

مقدار پوچ (null) را برمی‌گرداند که نشان‌دهنده نبودِ مقدار است.

 نامعنواننوع
خروجیخروجیپوچnull

عملیات سه‌تایی

logic_ternary

یک شرط را بررسی می‌کند؛ اگر درست باشد مقدار اول و در غیر این صورت مقدار دوم را برمی‌گرداند.

 نامعنواننوع
ورودی‌هاIFاگرBoolean
 THENآنگاهAny
 ELSEدر غیر این صورتAny
خروجیخروجیمقدار منتخبAny

حلقه‌ها

این دسته شامل بلوک‌های استاندارد برای ایجاد حلقه‌های تکرار است.

تکرار کن

controls_repeat_ext

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

 نامعنواننوع
ورودی‌هاTIMESتکرار کنNumber
 DO(دستورات)Statement
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

تا زمانی که / تا وقتی که

controls_whileUntil

دستورات داخل خود را تا زمانی که یک شرط برقرار باشد (while) یا تا وقتی که یک شرط برقرار شود (until)، تکرار می‌کند.

 نامعنواننوع
ورودی‌هاBOOL(شرط)Boolean
 DO(دستورات)Statement
فیلدهاMODE(حالت)Dropdown (گزینه‌ها: [تا زمانی که، تا وقتی که])
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

شمارش با

controls_for

با یک متغیر شمارنده از عددی تا عدد دیگر با گام مشخص حرکت کرده و در هر مرحله دستورات را اجرا می‌کند.

 نامعنواننوع
ورودی‌هاFROMازNumber
 TOتاNumber
 BYبا گامNumber
 DO(دستورات)Statement
فیلدهاVARشمارش باVariable (متغیر)
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

برای هر مورد در لیست

controls_forEach

به ازای هر یک از موارد موجود در یک لیست، دستورات داخل خود را یک بار اجرا می‌کند.

 نامعنواننوع
ورودی‌هاLISTدر لیستArray
 DO(دستورات)Statement
فیلدهاVARبرای هر موردVariable (متغیر)
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

خروج از حلقه

controls_flow_statements

جریان اجرای یک حلقه را کنترل می‌کند. می‌تواند از حلقه خارج شود (break) یا به تکرار بعدی برود (continue).

 نامعنواننوع
فیلدهاFLOW(فرمان)Dropdown (گزینه‌ها: [خروج از، ادامه با تکرار بعدی])
خروجیخروجیندارد (این بلوک پایانی یک شاخه است) 

عملیات ریاضی

این دسته شامل بلوک‌های استاندارد برای انجام عملیات ریاضی است.

عدد

math_number

یک مقدار عددی ثابت را نمایش می‌دهد.

 نامعنواننوع
فیلدهاNUM(مقدار عددی)Number
خروجیخروجیمقدار عددیNumber

عملیات حسابی

math_arithmetic

یکی از عملیات اصلی ریاضی (جمع، تفریق، ضرب، تقسیم، توان) را روی دو عدد انجام می‌دهد.

 نامعنواننوع
ورودی‌هاA(عدد اول)Number
 B(عدد دوم)Number
فیلدهاOP(عملگر)Dropdown (گزینه‌ها: [+, -, ×, ÷, ^])
خروجیخروجینتیجه عملیاتNumber

توابع ریاضی (یک ورودی)

math_single

یک تابع ریاضی پیشرفته (مانند جذر، قدر مطلق، لگاریتم) را روی یک عدد اجرا می‌کند.

 نامعنواننوع
ورودی‌هاNUM(عدد ورودی)Number
فیلدهاOP(تابع)Dropdown (گزینه‌ها: [جذر، قدر مطلق، -، ln، log10، e^، 10^])
خروجیخروجینتیجه تابعNumber

توابع مثلثاتی

math_trig

یکی از توابع مثلثاتی (سینوس، کسینوس، تانژانت و معکوس آن‌ها) را روی یک زاویه (بر حسب درجه) محاسبه می‌کند.

 نامعنواننوع
ورودی‌هاNUM(زاویه)Number
فیلدهاOP(تابع)Dropdown (گزینه‌ها: [sin, cos, tan, asin, acos, atan])
خروجیخروجینتیجه تابعNumber

ثابت‌های ریاضی

math_constant

یکی از ثابت‌های معروف ریاضی را برمی‌گرداند.

 نامعنواننوع
فیلدهاCONSTANT(ثابت)Dropdown (گزینه‌ها: [π, e, φ, sqrt(2), sqrt(1/2), ∞])
خروجیخروجیمقدار ثابتNumber

ویژگی عدد

math_number_property

یک ویژگی خاص یک عدد را بررسی می‌کند (مانند زوج، فرد، اول، صحیح، مثبت، منفی، قابل تقسیم بر…).

 نامعنواننوع
ورودی‌هاNUMBER_TO_CHECK(عدد)Number
 DIVISOR(مقسوم علیه)Number (فقط برای “قابل تقسیم بر”)
فیلدهاPROPERTY(ویژگی)Dropdown (گزینه‌ها: [زوج است، فرد است، اول است، صحیح است، مثبت است، منفی است، قابل تقسیم بر])
خروجیخروجینتیجه بررسیBoolean

گرد کردن

math_round

یک عدد اعشاری را به نزدیک‌ترین عدد صحیح گرد می‌کند.

 نامعنواننوع
ورودی‌هاNUM(عدد)Number
فیلدهاOP(عملیات)Dropdown (گزینه‌ها: [گرد کردن، گرد کردن به بالا، گرد کردن به پایین])
خروجیخروجیعدد گرد شدهNumber

عملیات روی لیست

math_on_list

یک عملیات آماری (مانند جمع، میانگین، میانه، انحراف معیار) را روی تمام اعداد یک لیست انجام می‌دهد.

 نامعنواننوع
ورودی‌هاLISTدر لیستArray
فیلدهاOP(عملیات)Dropdown (گزینه‌ها: [جمع، کوچکترین، بزرگترین، میانگین، میانه، مُد، انحراف معیار، تصادفی])
خروجیخروجینتیجه عملیاتNumber

باقیمانده

math_modulo

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

 نامعنواننوع
ورودی‌هاDIVIDENDباقیماندهNumber
 DIVISORتقسیم برNumber
خروجیخروجیباقیماندهNumber

محدود کردن عدد

math_constrain

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

 نامعنواننوع
ورودی‌هاVALUEمحدود کردنNumber
 LOWبینNumber
 HIGHوNumber
خروجیخروجیعدد محدود شدهNumber

عدد صحیح تصادفی

math_random_int

یک عدد صحیح تصادفی در یک محدوده مشخص (شامل ابتدا و انتها) تولید می‌کند.

 نامعنواننوع
ورودی‌هاFROMازNumber
 TOتاNumber
خروجیخروجیعدد تصادفیNumber

عدد اعشاری تصادفی

math_random_float

یک عدد اعشاری تصادفی بین ۰.۰ (شامل) و ۱.۰ (شامل نمی‌شود) تولید می‌کند.

 نامعنواننوع
خروجیخروجیعدد تصادفیNumber

Atan2

math_atan2

آرک‌تانژانت نقطه (X, Y) را بر حسب درجه از ۱۸۰- تا ۱۸۰ محاسبه می‌کند.

 نامعنواننوع
ورودی‌هاXXNumber
 YYNumber
خروجیخروجیزاویهNumber

متن (رشته ها)

این دسته شامل بلوک‌های استاندارد برای کار با رشته‌های متنی است.

متن

text

یک رشته متنی ثابت را ایجاد می‌کند.

 نامعنواننوع
فیلدهاTEXT(مقدار متنی)String
خروجیخروجیمتنString

متن چندخطی

text_multiline

یک رشته متنی ثابت چندخطی ایجاد می‌کند.

 نامعنواننوع
فیلدهاTEXT(مقدار متنی)String
خروجیخروجیمتنString

الحاق متن

text_join

چندین رشته متنی را به یکدیگر متصل می‌کند.

 نامعنواننوع
ورودی‌هاADD0, ADD1, …(متن‌ها)String
خروجیخروجیمتن الحاق‌شدهString

افزودن به متن

text_append

یک رشته متنی را به انتهای یک متغیر متنی اضافه می‌کند.

 نامعنواننوع
ورودی‌هاTEXTمتنString
فیلدهاVARافزودن به متغیرVariable
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

طول متن

text_length

تعداد کاراکترهای یک رشته متنی را برمی‌گرداند.

 نامعنواننوع
ورودی‌هاVALUEطولString
خروجیخروجیطولNumber

متن خالی است؟

text_isEmpty

بررسی می‌کند که آیا یک رشته متنی خالی است یا خیر.

 نامعنواننوع
ورودی‌هاVALUEخالی استString
خروجیخروجینتیجه بررسیBoolean

یافتن در متن

text_indexOf

موقعیت (اندیس) اولین یا آخرین رخداد یک زیررشته را در یک متن پیدا می‌کند.

 نامعنواننوع
ورودی‌هاVALUEدر متنString
 FINDیافتنString
فیلدهاEND(موقعیت)Dropdown (گزینه‌ها: [اولین، آخرین])
خروجیخروجیاندیسNumber

گرفتن حرف در متن

text_charAt

کاراکتر موجود در یک موقعیت مشخص از یک رشته متنی را برمی‌گرداند.

 نامعنواننوع
ورودی‌هاVALUEدر متنString
 AT(موقعیت)Number
فیلدهاWHEREگرفتن حرفDropdown (گزینه‌ها: [اول، آخر، از ابتدا، از انتها، تصادفی])
خروجیخروجیکاراکترString

گرفتن زیررشته

text_getSubstring

بخشی از یک رشته متنی را بین دو موقعیت مشخص استخراج می‌کند.

 نامعنواننوع
ورودی‌هاSTRINGدر متنString
 AT1(موقعیت شروع)Number
 AT2(موقعیت پایان)Number
فیلدهاWHERE1گرفتن زیررشته ازDropdown (گزینه‌ها: [اول، از ابتدا، از انتها])
 WHERE2تاDropdown (گزینه‌ها: [آخر، از ابتدا، از انتها])
خروجیخروجیزیررشتهString

تغییر حالت حروف

text_changeCase

تمام حروف یک رشته متنی را به حروف بزرگ، کوچک یا عنوان (ابتدای هر کلمه بزرگ) تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاTEXTبه حالتString
فیلدهاCASE(حالت)Dropdown (گزینه‌ها: [حروف بزرگ، حروف کوچک، حالت عنوان])
خروجیخروجیمتن تبدیل‌شدهString

تغییر کاراکترهای عددی در متن

text_numberformat

تمام اعداد موجود در یک رشته متنی را به اعداد انگلیسی یا فارسی تبدیل می‌کند.

 نامعنواننوع
ورودی‌هاTEXTبه حالتString
فیلدهاCASE(حالت)Dropdown (گزینه‌ها: [انگلیسی، فارسی])
خروجیخروجیمتن تبدیل‌شدهString

 

حذف فاصله‌ها

text_trim

فاصله‌های خالی (space) را از ابتدا، انتها یا هر دو طرف یک رشته متنی حذف می‌کند.

 نامعنواننوع
ورودی‌هاTEXTحذف فاصله‌ها ازString
فیلدهاMODE(جهت)Dropdown (گزینه‌ها: [هر دو طرف، سمت چپ، سمت راست])
خروجیخروجیمتن بدون فاصلهString

شمارش

text_count

تعداد دفعاتی که یک زیررشته در یک متن تکرار شده است را می‌شمارد.

 نامعنواننوع
ورودی‌هاSUBشمارشString
 TEXTدر متنString
خروجیخروجیتعدادNumber

جایگزینی

text_replace

تمام رخدادهای یک زیررشته را با یک رشته دیگر در متن جایگزین می‌کند.

 نامعنواننوع
ورودی‌هاFROMجایگزینیString
 TOباString
 TEXTدر متنString
خروجیخروجیمتن جایگزین‌شدهString

معکوس کردن

text_reverse

ترتیب کاراکترهای یک رشته متنی را معکوس می‌کند.

 نامعنواننوع
ورودی‌هاTEXTمعکوس کردنString
خروجیخروجیمتن معکوس‌شدهString

لیست ها

این دسته شامل بلوک‌های استاندارد برای ایجاد و کار با لیست‌ها (آرایه‌ها) است.

تبدیل به لیست عادی

lists_convert_from

لیست‌های با نوع خاص (مانند Peer[], Article[]) را به لیست‌های عمومی Blockly تبدیل می‌کند تا بتوان در حلقه‌ها و عملیات لیست استاندارد از آن‌ها استفاده کرد.

 نامعنواننوع
ورودی‌هاARRAYلیست مورد نظر برای تبدیل به لیست عادیString[], Number[], Json[], Transaction[], Category[], Article[], Peer[], Entry[]
خروجیخروجیلیست عادیArray

بررسی وجود یک آیتم در لیست

lists_contains

این بلوک بررسی می کند که آیا یک مورد (آیتم) در لیست مورد نظر وجود دارد یا خیر.

 نامعنواننوع
ورودی‌هاARRAYلیست مورد نظر برای جستجوString[], Number[], Json[], Transaction[], Category[], Article[], Peer[], Entry[]
ITEMآیتمی که می‌خواهید وجود آن را بررسی کنیدبدون محدودیت نوع
خروجیخروجیلیست عادیArray

به عنوان مثال، می توانید برای بررسی عضویت یک کاربر در یک گروه کاربری در صهبات:

  1. ابتدا با بلوک دریافت اطلاعات کاربر نام انگلیسی گروه‌های کاربری که کاربر در آن‌ها عضو است را استخراج کنید.
  2. سپس با بلوک تبدیل به لیست عادی لیست گروه‌ها را به لیست عادی تبدیل کنید.
  3. سپس با بلوک بررسی وجود یک آیتم در لیست ببینید گروه مورد نظر شما (مثلا registered) در بین آیتم‌های این لیست وجود دارد یا خیر.


ایجاد لیست با

lists_create_with

یک لیست جدید با موارد مشخص شده ایجاد می‌کند.

 نامعنواننوع
ورودی‌هاADD0, ADD1, …(موارد)Any
خروجیخروجیلیستArray

ایجاد لیست با تکرار

lists_repeat

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

 نامعنواننوع
ورودی‌هاITEMایجاد لیست با موردAny
 NUMتکرار شدهNumber
خروجیخروجیلیستArray

طول لیست

lists_length

تعداد موارد موجود در یک لیست را برمی‌گرداند.

 نامعنواننوع
ورودی‌هاVALUEطولArray
خروجیخروجیطولNumber

لیست خالی است؟

lists_isEmpty

بررسی می‌کند که آیا یک لیست هیچ موردی ندارد یا خیر.

 نامعنواننوع
ورودی‌هاVALUEخالی استArray
خروجیخروجینتیجه بررسیBoolean

یافتن در لیست

lists_indexOf

موقعیت (اندیس) اولین یا آخرین رخداد یک مورد را در یک لیست پیدا می‌کند.

 نامعنواننوع
ورودی‌هاVALUEدر لیستArray
 FINDیافتنAny
فیلدهاEND(موقعیت)Dropdown (گزینه‌ها: [اولین، آخرین])
خروجیخروجیاندیسNumber

گرفتن مورد از لیست

lists_getIndex

موردی را از یک موقعیت مشخص در لیست دریافت، کپی یا حذف می‌کند.

 نامعنواننوع
ورودی‌هاVALUEدر لیستArray
 AT(موقعیت)Number
فیلدهاMODE(عملیات)Dropdown (گزینه‌ها: [گرفتن، گرفتن و حذف، گرفتن و کپی])
 WHERE(از)Dropdown (گزینه‌ها: [اول، آخر، از ابتدا، از انتها، تصادفی])
خروجیخروجیموردAny

تنظیم مورد در لیست

lists_setIndex

مقدار یک مورد را در یک موقعیت مشخص از لیست تنظیم (جایگزین) یا درج می‌کند.

 نامعنواننوع
ورودی‌هاLISTدر لیستArray
 TOبهAny
 AT(موقعیت)Number
فیلدهاMODE(عملیات)Dropdown (گزینه‌ها: [تنظیم، درج])
 WHERE(در)Dropdown (گزینه‌ها: [اول، آخر، از ابتدا، از انتها، تصادفی])
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

گرفتن زیرلیست

lists_getSublist

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

 نامعنواننوع
ورودی‌هاLISTدر لیستArray
 AT1(موقعیت شروع)Number
 AT2(موقعیت پایان)Number
فیلدهاWHERE1گرفتن زیرلیست ازDropdown (گزینه‌ها: [اول، از ابتدا، از انتها])
 WHERE2تاDropdown (گزینه‌ها: [آخر، از ابتدا، از انتها])
خروجیخروجیزیرلیستArray

تبدیل متن به لیست و بالعکس

lists_split

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

 نامعنواننوع
ورودی‌هاINPUT(متن یا لیست)String یا Array
 DELIMبا جداکنندهString
فیلدهاMODE(عملیات)Dropdown (گزینه‌ها: [ساختن لیست از متن، ساختن متن از لیست])
خروجیخروجیلیست یا متنArray یا String

مرتب‌سازی لیست

lists_sort

موارد یک لیست را بر اساس نوع (عددی، متنی) و جهت (صعودی، نزولی) مرتب می‌کند.

 نامعنواننوع
ورودی‌هاLISTمرتب‌سازی لیستArray
فیلدهاTYPE(نوع)Dropdown (گزینه‌ها: [عددی، متنی، متنی بدون در نظر گرفتن حروف بزرگ/کوچک])
 DIRECTION(جهت)Dropdown (گزینه‌ها: [صعودی، نزولی])
خروجیخروجیلیست مرتب‌شدهArray

معکوس کردن لیست

lists_reverse

ترتیب موارد یک لیست را معکوس می‌کند.

 نامعنواننوع
ورودی‌هاLISTمعکوس کردن لیستArray
خروجیخروجیلیست معکوس‌شدهArray

رنگ‌ها

این دسته شامل بلوک‌های استاندارد برای انتخاب و ترکیب رنگ‌ها است.

انتخابگر رنگ

colour_picker

یک رنگ را از یک پالت رنگی انتخاب می‌کند.

 نامعنواننوع
فیلدهاCOLOUR(رنگ)Colour
خروجیخروجیرنگColour

رنگ تصادفی

colour_random

یک رنگ تصادفی تولید می‌کند.

 نامعنواننوع
خروجیخروجیرنگColour

بدون رنگ

colour_transparent

یک مقدار شفاف (بدون رنگ) را برمی‌گرداند.

 نامعنواننوع
خروجیخروجیبدون رنگColour

رنگ با RGB

colour_rgb

یک رنگ را بر اساس مقادیر قرمز (R)، سبز (G) و آبی (B) می‌سازد.

 نامعنواننوع
ورودی‌هاREDقرمزNumber
 GREENسبزNumber
 BLUEآبیNumber
خروجیخروجیرنگColour

رنگ با RGBA

colour_rgba

یک رنگ را بر اساس مقادیر قرمز (R)، سبز (G)، آبی (B) و شفافیت (Alpha) می‌سازد.

 نامعنواننوع
ورودی‌هاREDرنگ با قرمزNumber
 GREENسبزNumber
 BLUEآبیNumber
 ALPHAشفافیتNumber
خروجیخروجیرنگColour

ترکیب رنگ‌ها

colour_blend

دو رنگ را با یک نسبت مشخص با یکدیگر ترکیب می‌کند.

 نامعنواننوع
ورودی‌هاCOLOUR1رنگ ۱Colour
 COLOUR2رنگ ۲Colour
 RATIOبا نسبتNumber
خروجیخروجیرنگ ترکیب‌شدهColour

متغیرها

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

تنظیم متغیر

variables_set

مقدار یک متغیر را تنظیم یا به روز رسانی می‌کند.

 نامعنواننوع
ورودی‌هاVALUEبهAny
فیلدهاVARتنظیمVariable
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

خواندن متغیر

variables_get

مقدار فعلی ذخیره شده در یک متغیر را برمی‌گرداند.

 نامعنواننوع
فیلدهاVAR(نام متغیر)Variable
خروجیخروجیمقدار متغیرAny

متغیرها (با تعیین نوع)

این دسته مشابه دسته “متغیرها” است، اما به شما اجازه می‌دهد متغیرهایی با نوع داده مشخص (مانند Number, String, Peer) ایجاد کنید. این کار به جلوگیری از خطاها کمک کرده و سازگاری داده‌ها را تضمین می‌کند.

تنظیم متغیر (با نوع)

variables_set

مقدار یک متغیر با نوع مشخص را تنظیم می‌کند. Blockly از تخصیص نوع داده ناسازگار جلوگیری می‌کند.

 نامعنواننوع
ورودی‌هاVALUEبه(نوع مشخص شده متغیر)
فیلدهاVARتنظیمTyped Variable
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

خواندن متغیر (با نوع)

variables_get

مقدار فعلی یک متغیر با نوع مشخص را برمی‌گرداند.

 نامعنواننوع
فیلدهاVAR(نام متغیر)Typed Variable
خروجیخروجیمقدار متغیر(نوع مشخص شده متغیر)

متغیرهای سراسری

این دسته برای تعریف و استفاده از متغیرهایی است که در تمام فرآیندها و برای تمام کاربران به صورت مشترک قابل دسترسی هستند.

تعیین [متغیر سراسری]

globalvars_setglobalvar

مقدار یک متغیر سراسری را تنظیم می‌کند.

 نامعنواننوع
ورودی‌هاVALUEتعیینString
 VARIABLENAMEبرای متغیر سراسریString
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

مقدار متغیر سراسری

globalvars_getglobalvar

مقدار یک متغیر سراسری را بر اساس نام آن بازیابی می‌کند.

 نامعنواننوع
ورودی‌هاVARIABLENAMEمقدار متغیر سراسریString
خروجیخروجیمقدارString

حذف متغیر سراسری

globalvars_deleteglobalvar

یک یا چند متغیر سراسری را بر اساس نام آن‌ها حذف می‌کند.

 نامعنواننوع
ورودی‌هاVARIABLENAMEحذف متغیر سراسریString, String[]
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

توابع

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

تعریف تابع (بدون خروجی)

procedures_defnoreturn

یک تابع جدید تعریف می‌کند که مجموعه‌ای از دستورات را اجرا می‌کند اما مقداری را برنمی‌گرداند.

 نامعنواننوع
ورودی‌هاARGS(پارامترها)Variable (اختیاری)
 STACK(دستورات)Statement
فیلدهاNAMEتعریف تابعString
خروجیخروجیندارد 

تعریف تابع (با خروجی)

procedures_defreturn

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

 نامعنواننوع
ورودی‌هاARGS(پارامترها)Variable (اختیاری)
 STACK(دستورات)Statement
 RETURNبازگرداندنAny
فیلدهاNAMEتعریف تابعString
خروجیخروجیندارد 

فراخوانی تابع (بدون خروجی)

procedures_callnoreturn

یک تابع تعریف شده (که خروجی ندارد) را اجرا می‌کند.

 نامعنواننوع
ورودی‌هاARG0, ARG1, …(آرگومان‌ها)Any
فیلدهاNAME(نام تابع)String
خروجیخروجیندارد (فقط به بلوک بعدی متصل می‌شود) 

فراخوانی تابع (با خروجی)

procedures_callreturn

یک تابع تعریف شده (که خروجی دارد) را اجرا کرده و مقدار بازگشتی آن را برمی‌گرداند.

 نامعنواننوع
ورودی‌هاARG0, ARG1, …(آرگومان‌ها)Any
فیلدهاNAME(نام تابع)String
خروجیخروجیمقدار بازگشتیAny

این بخش به صورت مداوم در حال تکمیل و به روزرسانی است. از صبوری شما سپاس‌گزاریم …