كيفية إنشاء روبوت برقية أساسي باستخدام لغة Python 3

كيفية إنشاء روبوت برقية أساسي باستخدام لغة Python 3

إذا كنت من مستخدمي Telegram ، فلا بد أن تكون قد أجريت 'محادثة' مع روبوت محادثة في وقت ما. بفضل قابليتها المذهلة للتخصيص ، تقدم روبوتات Telegram مجموعة متنوعة من المزايا - سواء كان ذلك لأتمتة المهام أو لمجرد الاستمتاع ببعض الألعاب في مجموعة الدردشة الخاصة بك.





بينما قد يجد البعض أن تطوير روبوت مهمة شاقة ، إلا أنها ليست كذلك في الحقيقة. من خلال التخطيط الصحيح ، يمكنك إنشاء روبوت Telegram وتشغيله في أقل من ساعة! إليك كيفية إنشاء روبوت Telegram بسيط يقوم بإخراج صور لطيفة لقطط الإنترنت عندما يُطلب منك ذلك.





ابدء

في هذا البرنامج التعليمي ، سنستخدم Python 3 ، ملف بيثون برقية بوت و الطلبات مكتبة و كاتابي .





يحتوي كل روبوت في Telegram على رمز مميز فريد يساعده على التواصل معه بوت API من أجل استخدام واجهة المراسلة للتطبيق. يسمح لك Bot API ، وهو أحد أكثر ميزات Telegram شيوعًا بين المطورين ، باستخدام رسائله كواجهة.

تمت إزالة مقطع فيديو واحد أو أكثر من قائمة التشغيل لأنه تم حذفه من youtube.

للحصول على الرمز ، ابدأ محادثة مع تضمين التغريدة والتي ، كما يوحي الاسم ، هي روبوت رسمي يتيح لك إنشاء وتخصيص برامج الروبوت الخاصة بك. يمكنك الوصول إلى الروبوت باستخدام الرابط المحدد أو بدلاً من ذلك ابحث عن 'botfather' على Telegram.



بمجرد الدخول إلى الدردشة ، قم بإنشاء الروبوت الخاص بك عن طريق كتابة / newbot أمر. استمر في تعيين اسم واسم المستخدم الخاص ببوتك (قررنا تسمية اسمناpawsomebot). بعد ذلك ، ستحصل على رمز مميز فريد لروبوتك.

الآن بعد أن أصبح لدينا جميع المتطلبات الأساسية ، حان الوقت للوصول إلى الجزء المثير!





تثبيت المكتبات

إذا كنت تستخدم Windows ، فافتح موجه الأوامر واكتب الأوامر التالية:

pip install python-telegram-bot
pip install requests

إذا كنت تستخدم macOS أو Linux ، فاستخدم الأوامر التالية على جهازك الطرفي بدلاً من ذلك. بالإضافة إلى ذلك في Linux ، تأكد من تسجيل الدخول كمستخدم لديه امتيازات sudo.





pip3 install python-telegram-bot
pip3 install requests

كتابة البرنامج

أنشئ مجلدًا جديدًا على جهاز الكمبيوتر وافتحه في المحرر المفضل لديك. قم بإنشاء ملف جديد وقم بتسميته main.py. سيحتوي هذا الملف على الكود المصدري للبوت الخاص بك.

الآن ، دعنا نستورد المكتبات التي قمنا بتثبيتها مسبقًا مع بعض وظائفها المضمنة.

from telegram.ext import Updater, CommandHandler
import requests
import re

تدفق البرنامج من الآن فصاعدًا هو الوصول إلى TheCatAPI ، والحصول على عنوان URL لصورة عشوائية ، وإرسال تلك الصورة إلى دردشة المستخدم.

لنبدأ بدالة للحصول على عنوان URL للصورة ، والذي يمكن القيام به باستخدام وحدة الطلبات. في هذه الوظيفة ، نقوم بتحميل بيانات JSON لملف عشوائي تم توفيره بواسطة TheCatAPI واستخراج عنوان URL الخاص به لاستخدامه لاحقًا. لإلقاء نظرة على تنسيق كائن JSON ، توجه إلى https://api.thecatapi.com/v1/images/search على متصفحك. ستلاحظ شيئًا كهذا:

[{'breeds':[],'id':'a8c','url':'url.jpg','width':800,'height':533}]

لاحظ أن كائن JSON عبارة عن مصفوفة تحتوي على قاموس. يحتوي هذا القاموس على عنوان URL بالمفتاح 'url'. لاستخراج عنوان URL ، نحتاج إلى الإشارة إلى العنصر الأول من المصفوفة ، ثم المفتاح ذي الصلة.

def getUrl():
#obtain a json object with image details
#extract image url from the json object
contents = requests.get('https://api.thecatapi.com/v1/images/search')
url = contents[0]['url']
return url

بعد ذلك ، نحتاج إلى إرسال هذه الصورة إلى دردشة المستخدم. لهذا ، نحتاج إلى عنوان URL للصورة بالإضافة إلى المعرف الفريد لدردشة المستخدم. دعونا ننشئ وظيفة غلاف للقيام بذلك. أولاً ، نسمي getUrl () . وظيفة للحصول على عنوان URL لصورة عشوائية --- يتغير عنوان URL هذا في كل مرة يتكرر فيها البرنامج من خلال الوظيفة.

يتبع ذلك بعد ذلك الحصول على معرف الدردشة الخاص بالمستخدم المستلم ، والذي يحدد الموقع المستهدف لبرنامج الروبوت للرسائل ويحلل عنوان URL من خلال واجهة برمجة تطبيقات Bot المضمنة إرسال الصورة() وظيفة.

def sendImage(bot, update):
url = getUrl()
chat_id = update.message.chat_id
bot.send_photo(chat_id=chat_id, image=url)

لمعرفة المزيد حول الوظائف المتنوعة المضمنة في Bot API وكيفية عملها ، لا تتردد في التحقق من Telegram الوثائق الرسمية بعد هذا البرنامج التعليمي.

أخيرًا ، دعنا ننشئ وظيفة تتحكم في العمل الكلي للبوت. هذه الوظيفة - تسمى تقليديًا main () --- هي المكان الذي نرسل فيه طلب HTTP إلى Bot API باستخدام الرمز المميز الذي حصلنا عليه في بداية البرنامج التعليمي ثم تحديد شكل تفاعل مستخدم الروبوت. في حالة بسيطة مثل حالتنا ، فهذا يعني في الأساس بدء تشغيل الروبوت واستدعاء إرسال صورة () وظيفة عندما يطلبها المستخدم.

def main():
updater = Updater('1190888035:AAGeJ9316R95NqJLFefV5vQA-UL4np11V2c')
#call sendImage() when the user types a command in the telegram chat
updater.dispatcher.add_handler(CommandHandler('meow',sendImage))
#start the bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()

يجب أن يبدو برنامجك النهائي كما يلي:

from telegram.ext import Updater, CommandHandler
import requests
import re
def getUrl():
#obtain a json object with image details
#extract image url from the json object
contents = requests.get('https://api.thecatapi.com/v1/images/search')
url = contents[0]['url']
return url
def sendImage(bot, update):
url = getUrl()
chat_id = update.message.chat_id
bot.send_photo(chat_id=chat_id, image=url)
def main():
updater = Updater('1190888035:AAGeJ9316R95NqJLFefV5vQA-UL4np11V2c')
#call sendImage() when the user types a command in the telegram chat
updater.dispatcher.add_handler(CommandHandler('meow',sendImage))
#start the bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()

بوت Telegram الخاص بك

تهانينا! لقد أنشأت روبوتًا خاصًا بك للتخلص من التوتر يرسل صورًا مفتوحة المصدر لأفضل قطط الإنترنت عند مطالبتك بذلك. حاول تشغيل البرنامج الخاص بك واكتب /مواء في دردشة الروبوت الخاص بك لتنشيطه.

على الرغم من أن هذا قد يكون روبوتًا بسيطًا بوظائف محدودة ، إلا أنه يوضح مدى قوة النظام البيئي لتطوير روبوت Telegram. يمكنك إضافة أي عدد من الإجراءات الفرعية والميزات المعقدة لتحسين وظائف الروبوت الخاص بك - لا حدود للسماء. لمعرفة المزيد حول روبوتات Telegram الرائعة التي صنعها المساهمون على مر السنين ، تحقق من قائمة روبوتات Telegram المفيدة .

يمكنك أيضًا العثور على مجموعة متنوعة من البرامج المفتوحة المصدر المرخصة لروبوتات Telegram على منصات مثل GitHub. تسمح لك معظم تراخيص المصدر المفتوح باستخدام أو دراسة أو تنزيل أو تعديل التعليمات البرمجية المصدر للبرنامج.

استضف روبوت Telegram عبر الإنترنت

الآن بعد أن أصبح لديك برنامج الروبوت الخاص بك قيد التشغيل ، حاول إغلاق main.py على جهاز الكمبيوتر الخاص بك واستخدم الروبوت على تطبيق Telegram messenger. هل ما زال يستجيب ل /مواء أمر؟ لا ، ليس كذلك.

كمبتدئ ، قد تشعر بالارتباك حول سبب وجوب تشغيل main.py على جهاز الكمبيوتر الخاص بك عندما تكون قد أنشأت بالفعل روبوتًا يعمل على الإنترنت. والسبب في ذلك هو أن البرنامج يستخدم جهاز الكمبيوتر الخاص بك كخادم محلي لإرسال طلبات HTTP إلى واجهات برمجة التطبيقات المستخدمة في هذا البرنامج.

على هذا النحو ، فإن الاضطرار إلى تشغيل البرنامج في كل مرة تريد فيها استخدام التطبيق ليس مجديًا ولا مناسبًا. لحل هذه المشكلة ، نحتاج إلى إزالة اعتماد الروبوت على جهازك

تتمثل إحدى طرق القيام بذلك في استخدام لوحة دوائر مطبوعة منخفضة التكلفة (PCB) ، مثل Raspberry Pi ، لإعداد خادم الويب الخاص بك واستخدامه لتشغيل برنامجك. له نفس الفوائد مثل تشغيل البرنامج على جهاز الكمبيوتر الخاص بك دون تكاليف الاحتفاظ به طوال النهار والليل لأن ثنائي الفينيل متعدد الكلور تميل إلى أن يكون لها بصمة طاقة أقل بشكل ملحوظ.

بدلاً من ذلك ، يمكنك أيضًا نشر برنامجك على السحابة. توجه إلى منصة استضافة تطبيقات الويب مثل Heroku أو AWS أو Google Cloud أو Microsoft Azure واختر الاشتراك الذي يناسب احتياجاتك. نوصي باختيار إصدار تجريبي مجاني أو اشتراك وترقيته كلما زادت نطاق أو نطاق برنامجك.

يشارك يشارك سقسقة بريد الالكتروني كيفية استضافة موقع Python الخاص بك مجانًا على Heroku

هل تحتاج إلى استضافة موقع ويب صغير بدون تكلفة؟ قد يكون Heroku هو ما تبحث عنه تمامًا.

اقرأ التالي
مواضيع ذات صلة
  • برمجة
  • بايثون
  • برقية
  • الشات بوت
  • روبوتات وسائل التواصل الاجتماعي
نبذة عن الكاتب ياش شيلاني(10 مقالات منشورة)

ياش هو طالب علوم كمبيوتر طموح يحب بناء الأشياء والكتابة عن كل ما يتعلق بالتكنولوجيا. في أوقات فراغه ، يحب لعب الاسكواش ، وقراءة نسخة من أحدث موراكامي ، ومطاردة التنانين في Skyrim.

المزيد من Yash Chellani

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك