چند روزی بودش که بنا بر یک پروژه برنامه نویسی ای که به پستم خورده بود لازم بود که فازی از پروژه پلتفرمی تحت ربات روی یکی از پیام رسان های داخلی پیاده بشه.
اولیت کارفرما استفاده از پیام رسان ایتا بود اما خب نظر اون نیست که تعیین کنندس :)
با توجه به تحقیقاتی که من طی این چند روز کردم و دستاورد های کلی ای که به دست اوردم گفتم تاپیکی اینجا بنویسم شاید در آینده به درد بقیه هم بخوره ( هر چند فکر میکنم یک تاپیک مال مدتی خیلی قبل با این عنوان موجود هست ولی خب من میخوام گفته های کامل تری بهتون ارائه بدم بعلاوه نتیجه گیری ای کامل تر)
پیام رسان های پر کاربر و البته چیزی که بشه روشون حساب کرد قطعا میدونید که روبیکا، ایتا و بله هستن و منم روی همینا کار کردم.
اول از روبیکا شروع میکنیم:
طبق برسی که من کردم روبیکا اصلا ربات نداره و همچنین روبیکا اصلا api ارائه نداده و خب کلی بگم api برای روبیکا وجود ندارد. عملا اولین مرحله تیر به سنگ خوردش.
دوم از ایتا بگم:
چرت ترین و مسخره ترین api متعلق به ایتا هستش. در مرحله اول اینکه برای api یه سامانه جدا داره که باید کلید یا همون توکن رو بگیرید ازش که اسمش رو گذاشتن ایتایار. همون بدو ورود این سامانه یه باگ داره اینکه اگر اکانتی که توی ایتا ساختید و دارید باهاش وارد ایتایار میشید "نام کاربری" نداشته باشه ایتایار ارور میده بهتون که شناسه پیدا نشد و... این از دردسر اول موقع لاگینو گرفتن کلید؛ مورد بعد این پلتفر اصلا سیستمی نه برای webHook تعریف کرده و نه getUpdate و همونطور که احتمالا حدس میزنید api که ارائه دادن شما فقط میتونید باهاش پیام ارسال کنید و فایل ( نمی تونید پیام بخونید و عملا یچیز بدرد نخور برای توسئه پلتفری روی خود ایتا ) احتمالا این api فقط به درد تولید کنندگان محتوا و... میخوره که فقط سایتشون مثلا متصل به ایتا کنند که هر وقت پستی چیزی گذاشتن توی سایت اونجا هم اطلاع رسانی ای چیزی بشه
و در آخر از بله بگم:
این پیام رسان سر قسمت api واقعا گل کاشته! هرچند نقص هایی داره ولی معلومه توسعه دهنده های پیام رسان بله روی این قسمت وقت گذاشتن
دقیقا مشابه تلگرام شما به دو حالت میتونید Handeling Update داشته باشید یکی به شیوه وب هوک و دیگری هم گت آپدیت
زبانی که من داشتم کار میکردم پایتون بودش همین اول کار از روی تنبلی و... یکم سختم بود که به شیوه قدیم بشینم برای سند مسیجو گت آپدیت و... تابع تعریف کنم... و سورپرایز بعدی رو توی این مرحله شدم:
من برای توسعه ربات های تلگرامی و... از کتابخونه telethon استفاده میکنم و در حین جستجو به این مورد رسیدم که پیام رسان بله یه کتابخونه خفن برای کار با ربات به اسم balethon معرفی کرده که تا 90% هم مشابه همون تله تون هستش و واقعا کار رو آسون کردش
وب سرویس های نسبتا کاملی داره ولی خب بزرگ ترین ایرادی که من میبینم داره این پیام رسان و البته ربات ها (بازو؟) اینه که قابلیت setAction مثل تلگرام نداره... همون وضعیت درحال تایپ و درحال ارسال و... رو میگم اگر این یک مورد رو برطرف کنند و اضافه کنند در واقع این یک پلتفرم بی نقص میشه...
در پایان بخوام نتیجه گیری کنم اگر کسی هدفش پیاده کردن رباتی یا چیزی بر بستر پلتفرم های داخلی باشه و نخواد درگیر وب اسکرپینگو این داستان ها بشه بهترین و کامل ترین پلتفرم برای این کار پیام رسان بله هستش
ایتایار: eitaayar.ir
بله: bale.ai
داکیومنت بله: docs.bale.ai
بله تون: github.com/Balethon/Balethon/tree/main