هل فكرت يوما ما في عرض منتجاتك في أحد المتاجر لكن ليس معك ميزانية كبيرة ؟
إليك الحل ، سنعرف في هذه المقالة كيفية برمجة متجر خاص بك في تلغرام مع طريقة الدفع بالبطاقة البنكية ، و كل هذا بلغة البرمجة بايثون
كل ما ستحتاجه هو بايثون 3.6.9 ، و تثبيت مكتبة pyTelegramBotAPI و python-telegram-bot 13.4.1 .
يتمحور Telegram حول الحرية والانفتاح - كود مفتوح للجميع - (open source) ، وكذلك API الخاص بتلغرام . اليوم نخطو خطوة أخرى نحو الانفتاح من خلال إطلاق Bot API والنظام الأساسي لمطوري الطرف الثالث لإنشاء برامج البوت.
البوتات هي ببساطة حسابات Telegram يتم تشغيلها بواسطة برنامج - وليس بواسطة أشخاص - وغالبًا ما تحتوي على ميزات الذكاء الاصطناعي. يمكنهم فعل أي شيء - التدريس أو اللعب أو البحث أو البث أو التذكير أو الاتصال أو الاندماج مع الخدمات الأخرى أو حتى تمرير الأوامر إلى إنترنت الأشياء.
قبل البدء في برمجة البوت يجب الحصول على الرمز أو token الخاص بالبوت الذي نريد إنشاؤه بالاستعانة بالبوت BotFather@.
BotFather هو البوت الوحيد الذي يحكمهم جميعًا. سيساعدك على إنشاء بوتات جديدة وتغيير الإعدادات للحالية.
إنشاء بوت جديد
استخدم الأمر / newbot لإنشاء بوت جديد. سيطلب منك BotFather اسمًا واسم مستخدم ، ثم يقوم بإنشاء رمز مصادقة لبوتك الجديد.
يتم عرض اسم البوت الخاص بك في تفاصيل الاتصال وفي أي مكان آخر.
الرمز المميز عبارة عن سلسلة على غرار 110201543: AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw المطلوب لتفويض البوت وإرسال الطلبات إلى Bot API. حافظ على أمان الرمز المميز الخاص بك وقم بتخزينه بأمان ، ويمكن لأي شخص استخدامه للتحكم في البوت الخاص بك.
إنشاء رمز المصادقة
يمكنك استخدام الأمر / token لإنشاء رمز جديد في حالة اختراق رمزك المميز الحالي أو فقدته .
أوامر Botfather
الأوامر المتبقية تشرح نفسها بنفسها:
/ mybots - تُرجع قائمة بالبوتات الخاصة بك مع عناصر تحكم سهلة لتعديل إعداداتها
/ mygames - يفعل الشيء نفسه لألعابك
تحرير البوتات
/ setname - قم بتغيير اسم البوت الخاص بك.
/ setdescription - قم بتغيير وصف البوت ، نص قصير يصل إلى 512 حرفًا ، يصف البوت الخاص بك. سيظهر هذا النص للمستخدمين في بداية المحادثة مع البوت .
/ setabouttext - قم بتغيير معلومات البوت ، نص أقصر يصل إلى 120 حرفًا.سيظهر هذا النص للمستخدمين على صفحة ملف تعريف البوت.
/ setuserpic - قم بتغيير صور ملف تعريف البوت. من الجيد دائمًا تحديد وجه للاسم.
/ setcommands - قم بتغيير قائمة الأوامر التي يدعمها البوت الخاص بك. سيرى المستخدمون هذه الأوامر كاقتراحات عندما يكتبون / في الدردشة مع البوت الخاص بك. يحتوي كل أمر على اسم (يجب أن يبدأ بشرطة مائلة "/" ، وأبجدية رقمية بالإضافة إلى شرطات سفلية ، ولا يزيد عن 32 حرفًا ، غير حساس لحالة الأحرف) ، ومعلمات ، ووصف نصي. ستظهر قائمة الأوامر للمستخدمين عندما يكتبون "/" في محادثة مع برنامج الروبوت الخاص بك.
/ deletebot - احذف البوت وحرر اسم المستخدم الخاص به.
تحرير الإعدادات
/ setinline - تبديل الوضع للبوت .
/ setinlinegeo - طلب بيانات الموقع من أجل توفير نتائج مضمنة تعتمد على الموقع.
/ setjoingroups - قم بالتبديل بين إمكانية إضافة البوت إلى المجموعات أم لا. يجب أن يكون أي روبوت قادرًا على معالجة الرسائل الخاصة ، ولكن إذا لم يكن البوت الخاص بك مصممًا للعمل في مجموعات ، فيمكنك تعطيل ذلك.
/ setprivacy - عيّن الرسائل التي سيتلقاها البوت عند إضافته إلى مجموعة. مع تعطيل وضع الخصوصية ، سيتلقى البوت جميع الرسائل. نوصي بترك وضع الخصوصية ممكّنًا. ستحتاج إلى إعادة إضافة البوت إلى المجموعات الموجودة حتى يسري هذا التغيير.
إدارة الألعاب
/ newgame - أنشئ لعبة جديدة.
/ listgames - احصل على قائمة بألعابك.
/ editgame - عدل لعبة.
/ deletegame - حذف لعبة موجودة.
من أجل إدخال طريقة الدفع للبوت يجب الحصول أيضا على provider_token ، ندخل ل Bot Settings في @BotFather ثم Payments .
بعد ما أخذت token و provider_token للبوت الخاص بك نمر إلى برمجة البوت (سنبرمج البوت التالي) :
تثبيت مكتبة pyTelegramBotAPI :
يتم تثبيت مكتبة pyTelegramBotAPI باستخدام pip
pip install pyTelegramBotAPI
استيراد المكتبات و الخاصيات :
بعد أن قمنا بتثبيت المكتبة نقوم باستيرادها عن طريق :
import telebot
و نعمل استدعاء أيضا للخاصيات التي سنعمل بها (في حالتنا سنستعمل types و ShippingOption و LabeledPrice ) .
بعدها نقوم بتعريف token و provider_token الذي حصلنا عليهم من قبل في متغيرات .
تحميل البيانات :
في هذه المرحلة ، يجب تعريف المنتجات التي ستظهر في متجرنا (الإسم، الوصف ، الثمن ، الصورة ....) ، يمكنكم استعمال أي مصدر للبيانات سواء ملفات بجميع أنواعها أو Mysql أو Postgresql أو MongoDB أو Firebase أو .....
نحن قمنا بإدخال بيانات في lists فقط لكن إذا عندكم أي مصدر للبيانات استعملوه .
استعمال token :
هذه المرحة هي المسؤولة عن التحكم في البوت الخاص بك و ليس بوت آخر ، حيث يتم إدخال token الخاص بك في خاصية TeleBot() .
TeleBot في الحقيقة هي class معرفة في ملف _init_.py و توفر وظائف و خاصيات كثيرة سنستعملها في المراحل القادمة .
الرد على الرسائل :
قبل برمجة أي خاصية للرد على أي رسالة ، قمنا بتجهيز لوحة مفاتيح خاصة بمتجرنا ، حيث تظهر كل صنف من المأكولات .
بعدها برمجنا خاصية ترد فقط إذا أرسل الزبون /start أو /help ، حيث تكتب له choose a categorie و تظهر له لوحة المفاتيح التي عرفناها من قبل .
قمنا بوضع شرط إذا كانت الرسالة هي 🍕pizza مثلا أو ضغط الزبون على 🍕pizza في لوحة المفاتيح (هذا ما برمجناه ن قبل) ، سيظهر له جميع العناصر المتوفرة لدينا في قاعدة البيانات لذلك الصنف .
التعامل مع الشحن :
وسيلة الدفع :
بعد أن قمنا بربط البوت الخاص بنا ب Stripe ، برمجنا الخاصيات التالية ، حيث الأولى مسؤولة عن إرسال النص المعرف داخلها إذا حدث أي خطأ في الدفع و الثانية مسؤولة عن إرسال النص المعرف داخلها إذا تمت عملية الدفع بنجاح .
بالمقابل هناك بوت آخر لصاحب business يستقبل ، بعد الدفع ، معلومات المنتج الذي تم شراؤه و عنوان الزبون و طريقة الشحن
برمجة سعيدة ! 🔥🔥