لا شك في أن تليجرام هو واحد من أهم وأقوى البدائل لخدمة واتس اب.
وهو من وجهة نظري سوف يسيطر على المستقبل بسهولة.
فهو ليس فقط أكثر أماناً وخصوصية من واتس اب. ولكنه يقدم العديد من المميزات للمستخدمين والمطورين التي سوف تجعل منه تطبيق شامل (سوبر أب) بسهولة في الفترة القادمة.
ولكن تجربتنا اليوم هي عن التطوير لتليجرام وليس فقط استخدامة.
في الحقيقة فإن التطوير لتليجرام يعتبر سهل جداً ومن الممكن لأي شخص يقوم بالبرمجة ببايثون أو بأي لغة برمجة انشاء بوت كامل خاص به في ثواني معدوده.
تبدأ قصتنا بشعور الملل الذي أصابني في الدوام أحد أيام الأسبوع الماضي. في الحقيقة أنا لست معتاداً على الجلوس دون عمل. وإن وجدت وقت فراغ فأنا أحاول أن أملأه بأي عمل مهما كان.
وجدت مقالة على الانترنت عن مجموعة من أشهر بوتات تليجرام. كنت أعرف أن تليجرام عليه بوتات كثيرة ولكن لم أفكر قبل في تطوير أحدها. كنت أعتقد أنه كما الحال مع واتس اب فإن العملية بالتأكيد معقدة.
ولكن فضولي والفراغ دفعاني للبحث عن كيفية انشاء بوتات لتليجرام. ويا للعجب لكم اندهشت من سرعة انشاء البوت. لا أبالغ حينما أقول لكم بأني استطعت أن أصمم البوت بالكامل وأجعله يرد علي رسائلي بشكل مبسط في أقل من ثلاثين دقيقة فقط.
ولكن من يستخدم تليجرام أصلاً؟
في الحقيقة هذا السؤال مردود على صاحبة. كونك لا تستخدم منصة ما لا يجعل منها منصه غير مرغوبة لدى الجميع. في الحقيقة لقد رأيت في ذلك فرصة عظيمة. فلم تكن أي صيدلية بالشرق الأوسط بالكامل وشمال أفريقيا قد قامت بتصميم بوت خاص بها على تلك المنصة بعد.
دخولي لهذا المجال سوف يجعل مني رائداً فيه بسهولة شديدة.
لذلك قمت بالفعل بإنشاء البوت. وكان أول سؤال طرحته على نفسي. ما الذي سوف يقدمة البوت لعميل شركتي لكي يستخدمة من الأساس؟
وللإجابة على هذا السؤال قمت بتصميم البوت ليقدم خدمة واحدة أساسية وهي خدمة البحث عن المنتجات على موقعنا عن طريق الدردشة.
ولكن كيف يقوم البوت بالبحث وبسرعة في موقعنا دون وجود API جاهزه للبحث؟ ثم حتى لو وجدت هل تكون بالسرعة الكافية لعميل يستخدم الدردشة؟
هنا ترائى لي أن أقوم باعادة تدوير محرك البحث Rakanize القائم على الذكاء الصناعي الذي قمت ببناءه من فترة والذي قمت بتسميته باسم مشتق من اسم ابني.
لم أمتلك الجرأه قط لتسويق هذا المحرك على المستوى التجاري لا لشركتي ولا لأي شركة أخرى. برغم أنه مبني على أحدث أطر العمل الخاصة بالذكاء الصناعي وبه نموذج ذكاء صناعي حقيقي يحركه. إلا أن تسويق خدمة كهذه يستلزم لها بناء العديد من الخدمات المصاحبه لها لكي تتمكن من العمل بسلاسة على المواقع والتطبيقات وهو ما لم أكن أمتلك الوقت ولا الخبرة لإنشاءه.
ولكن في حالة كون المنتج هو مجرد منتج واحد فقط أتحكم أنا بالكامل في كل تفاصيلة وسوف يقوم المحرك بالعمل في الخلفية بدون تعديلات متعلقة بتعميم التجربة على مختلف المنصات فمن الممكن أن أبدأ به.
وقد كان بالفعل ونجحت في تضمين نسخة بسيطة جداً من محرك البحث Rakanize بداخل البوت. يحاول أن يفهم نية العميل ويقوم بترشيح ٥ منتجات فقط بناءاً على ذلك.
ولما كانت تلك الخاصية كافية بشكل مبدئي أحببت أن تكون التجربة أكثر شمولية فأضفت العديد من الأوامر الخاصه بالبوت للترويج لتطبيق صيدليات ادم على مختلف المنصات.
وأمر لزيارة موقعنا الإلكتروني. وأمر آخر لمعرفة آخر العروض. وأمر إضافي لمعرفة مواقع فروعنا في المملكة.
وأمر لحجز موعد معي. وأمر للوصول لرقم خدمة العملاء. وحتى أمر لمعرفة الوقت الحالي بمدينة الرياض وأمر لعرض رسالة المساعدة وكيفية استخدام البوت.
كل هذه الأوامر تمثل تجربة استخدام مبدئية لعميل شركتنا.
فلم أقوم باطلاق بوت به خاصية واحده فقط حينما يمكن أن أملأه بالعديد من الميزات التي لن تكلفني في برمجتها وتصميمها وقتاً؟!
ما وجه اختلاف الاعتماد على الذكاء الصناعي؟
يقوم الذكاء الصناعي بتوليد اجابات أكثر إفادة من البحث النصي التقليدي ويقوم بذلك بسرعة شديدة لا تتعدى النصف ثانية في أسوء الحالات.
محرك Rakanize الذي قمت بتصميمة بالكامل وصممت منه نسختين واحدة مبنيه على ScikitLearn والأخرى مبنيه على TensorFlow يقوم بفهم نية المستخدم من وراء بحثه وارجاع النتائج له بشكل مرضي كما سنرى في الصور التالية.
ثم واجهتني المشكلة الثانية. أين أستضيف البوت؟
بوت تليجرام هو مجرد باك إند متصلة بخوادم منصة تلجرام. ولما كان المشروع بالكامل هو مشروع تجريبي هدفي منه التعلم أكثر منه اخراج منتج حقيقي حتى وإن خرج المنتج الحقيقي بشكل مشرف في النهاية. فلم ترصد الشركة له أي ميزانية لاستضافته.
البوت يعمل بشكل ممتاز طالما كنت أشغله على جهازي الشخصي. ولكن بمجرد اغلاقي له يتوقف البوت عن العمل بشكل دائم لحين اعادة تشغيل جهازي ثم تشغيل البوت.
إذا أستضيفه على موقعي هذا؟
راودتني هذه الفكرة ولكن مزود الخدمة لا يدعم سوى منصات لغة PHP المختلفة ولا يوجد دعم حقيقي لمنصات بايثون.
كيف إذا أقوم بتشغيل البوت بشكل مبدئي كعرض حالة لإدارة الشركة وللعملاء؟
لم أظل أتسائل كثيراً حيث وجدت خدمة مجانية تقدمها منصة Anaconda اسمها PythonAnywhere أستطيع استضافة بوت خفيف عليها بشكل مجاني تماماً ولكنه لن يستطيع التعامل مع حجم عمليات كبير جداً بشكل يومي. إلا أنها بداية جيدة وبسيطة ومجانية.
وبناءاً عليه قمت برفع البوت ونموذج الذكاء الصناعي بالكامل على المنصة وتفاجئت من سرعتها وخفتها. في الحقيقة البوت يعمل بشكل رائع الآن وجاهز للاستخدام.
وسوف أقوم في الفترات القادمة بنشر سلسلة لشرح كيفية إنشاء بوت تليجرام بشكل صحيح وذكي على المدونة فتابعوني.
بالتوفيق يغالي وفي نجاح دايما ابوراكان