بسم الله الرحمن الرحیم
از امشب تصمیم گرفتم یه سری تجربیات در مورد نوشتن یک بازوی کاربردی در پیام رسان بله رو با هم شروع کنیم و تا حد خوبی تکنینک های استفاده از این تجربه خوب توسعه یک محصول ایرانی که به شما این قابلیت رو میده که توی بازوی خودتون کارهای مالی رو هم هندل کنین باهاتون به اشتراک بزارم.
یه روز که منو همسرم تصمیم گرفتیم تا توی شبکه های اجتماعی محصولات شهرمون رو بفروشیم، اولش یه کانال درست کردیم و عکس محصولات رو با قیمتش میزاشتیم.
مشتریای عزیز به ایدی من یا خانمم پیام میدادن که از فلان چیز چند کیلو، از فلان چیز چند کلیو و ....
بعد از سفارش این قد بهمون پیام میدادن که توی لیست چت ها بعضی مشتری ها گم می شد و مجبور بودیم شماره تلفنشون رو بگیریم و همه سفارش ها رو روی یک کاغذ بنویسم و بعد شماره کارت بدیم و مشتری تا فردا پرداخت می کرد و عکس می فرستاد و اههههه! خیلی طول می کشید. حالا نوبت من بود چک کنم طرف درست پول واریز کرده یا نه و ....!
خیلی فرایند خِنِسی بود! دنبال یه راه حل دیگه بودم. فهمیده بودم میشه با پیام رسان بله کارت به کارت کرد. به بعضی از مشتری ها که بله داشتن پیشنهاد می دادم توی بله برام ارسال کنن تا، هم رسیدش برای من بیاد و مجبور نباشم تراکنشش رو چک کنم و سریع کارشو پیگیری کنم. تا این جا بخشی از مشتری ها کارشون سریع تر پیش میرفت. تا اینکه چند وقت دیدم در پیام رسان بله میشه یه قابلیت جدید به اسم « درخواست پول » هست. وقتی ازش استفاده کردم و حجم کاری که ازمون کم می کرد رو دیدم، عزمم رو جزم کردم تا کل فرایند ثبت سفارش رو ببریم توی پیام رسان بله.
اولش کانال رو اوردیم و بعدشم باتش رو زدیم و دیگه ما کاری با مشتری ها نداشیتم.
سفارششون رو توی بله با هر محصولی و هر مقداری که میخواستن ثبت میکردن، پرداخت می کردن، بعد از پرداخت موفق بهمون پیام میومد و سفارش رو پیگیری میکردیم و براش ارسال می کردیم.
بهتون حق میدم که شاید در دفعه اول خیلی ها از سفارش صرف نظر می کردن، ولی بعد از مدتی مشتری ها مون خداروشکر زیاد شد و الان میخوام این تجربه رو باهاتون به اشتراک بزارم و بتونید به سادگی فروشگاه خودکار خودتون رو توی بله راه اندازی کنین.
تمامی اموزش هامو سعی میکنم از سایت توسعه دهندگان بله به ادرس زیر پیش ببرم :
https://developers.bale.ai/
همون طور که میدونید مراجع رسمی اصلا اطلاعات درست درمونی نمیدن و باید از این طرف اون طرف مطالب رو گیر بیارین و توسعه بدین. پس منم همین نقشو میخوام اینجا براتون بازی کنم ان شاءالله.
اول به ایدی زیر در پیام رسان بله برید:
botfather@
بعد شروع کار با این بازو یک بات برای خودتون بسازید و توکنش(token) رو یه جایی توی فضای شخصی تون یادداشت کنین. این نکته رو هم بگم که این توکن رو به هیچ کس ندین! چون این توکن دست هر کسی باشه میتونه کنترل بازوی شما رو به دست بگیره. پس مث چیز ازش محافظت کنین.
بعد از اینکه بازو رو ساختین باید محیط توسعه خودتون رو درست کنین. البته هیچ اجباری روی این توصیه من نیست و لی من پیشنهادم اینه که از pycharm استفاده کنین. چون sdk بازوی بله رو با پایتون نوشتن باید از زبان برنامه نویسی پایتون برای این کار استفاده کنین.
خب میتونید پای چارم رو از لینک زیر دانلود کنین: دانلود
بعد از نصب پای چارم باید پایتون ۳.۵ به بالا رو روی سیستمتون نصب کنین. برای این کار سرچ کنین ساده اس. اموزش نصب پایتون
بعد از نصب پایتون باید pip3 رو نصب کنین : اموزش نصب پایپ۳
حالا که پایپ۳ رو نصب کردین، باید کتابخانه بله بات رو نصب کنین:
pip3 install balebot
حالا برید توی پای چارم و یک پروژه جدید بسازید و این قطعه کد رو از اینجا بردارید و توی یک فایل بریزید و مقدار TOKEN رو با توکنی که از بات فادر بله برای بازوی جدیدتون دریافت کردین جایگزین کنین:
"""Simple Bot to Reply to Bale messages.""" import asyncio from balebot.updater import Updater # Bale Bot Authorization Token updater = Updater(token="YOUR TOKEN", loop=asyncio.get_event_loop()) # Define dispatcher dispatcher = updater.dispatcher """ Your Code Comes here ... """ updater.run()
حالا این کد رو اجرا کنین:
اگر کار با موفقیت انجام شده باشه به سرور بله وصل شدین و این خروجی رو میبیند:
2018-05-12 11:31:52,669 network.py:32 DEBUG: "connect: wss://api.bale.ai/v1/bots/TOKEN"
اگر مشکلی پیش اومد:
2018-05-12 11:36:09,011 network.py:112 WARNING: "network connection disconnected." 2018-05-12 11:36:09,012 network.py:36 ERROR: "connect error: 500, message='Invalid response status'" Traceback (most recent call last): File "/home/ehsan/PycharmProjects/example_bots/venv/lib/python3.5/site-packages/balebot/connection/network.py", line 31, in connect self._ws = await self._session.ws_connect(self.construct_url()) File "/home/ehsan/PycharmProjects/example_bots/venv/lib/python3.5/site-packages/aiohttp/helpers.py", line 109, in __await__ ret = yield from self._coro File "/home/ehsan/PycharmProjects/example_bots/venv/lib/python3.5/site-packages/aiohttp/client.py", line 465, in _ws_connect headers=resp.headers) aiohttp.client_exceptions.WSServerHandshakeError: 500, message='Invalid response status'
این قسمت اول بود که با ساخت بازو و ارتباطش با سرور بله رو با هم یاد گرفتیم.
سوالی بود در کامنت ها در خدمتم
ان شاءالله در قسمت های بعدی سعی میکنم وارد جزییات بشیم و بتونیم فروشگاه رو شروع کنیم.