دخول
مرحبا يا هبر!
لقد أردت مؤخرًا تثبيت تطبيق للتحكم في الماوس على جهاز كمبيوتر ، لكن واجهت مشاكل في توصيل الهاتف وكان لدي فكرة أن أفعل شيئًا مشابهًا بنفسي ، لكن كيف؟ بعد الاطلاع على العديد من الخيارات ، تذكرت روبوتات البرقية التي يمكن أن تكون مناسبة تمامًا للقيام بشيء مماثل في الإصدار النصي ، على سبيل المثال ، تكتب روبوت
"/ open chrome" ويفتح Chrome على جهاز الكمبيوتر الخاص بك.
ماذا نحتاج؟
سأكتب الروبوت في Python وسأستخدم المكتبات التالية: قارورة ، pyngrok ، طلبات ، win32com.client ، os ، subprocess. في وقت لاحق من المقالة سأشرح لماذا نحتاج إلى مكتبة. نحتاج أيضًا إلى Telegram على الهاتف أو الجهاز اللوحي أو حتى على كمبيوتر آخر. ونحتاج أيضًا إلى روبوت برقية الذي سنكتب كيف يمكنك إنشاؤه بنفسك ، لأن هناك بالفعل مقالات كافية عن حبري!
كيف سيكون كل هذا العمل؟
عندما نكتب إلى برنامج الروبوت الخاص بنا ، فسوف يرسل طلبًا لاحقًا يتضمن بيانات حول الرسالة وعن المستخدم الذي أرسلها إلى عنوان url الخاص بنا ، وبعدها سيقوم نص برنامج python الخاص بنا ، وفقًا للنص ، بتنفيذ إجراءات معينة مثل بدء تشغيل التطبيقات أو إدخال نص أو حتى اغلاق الكمبيوتر.
تطبيق
أولاً ، قم بإنشاء ملف python ، والذي سأتصل به main.py ، واستورد جميع المكتبات التي نحتاجها (ولكن أولاً نحتاج إلى تثبيتها عبر النقطة):
from flask import Flask, request from pyngrok import ngrok import requests import subprocess import os import win32com.client
الآن ، لتلقي الطلبات من الروبوت ، نحتاج إلى تشغيل Flask ثم تشغيل Pyngrok للوصول إلى موقعنا ليس فقط على الشبكة المحلية:
app = Flask(__name__)
الآن دعونا تكوين الروبوت - سنقدم الطلبات إلى خادمنا:
token = 'token BotFather'
لنقم بإنشاء وظيفة حتى يتمكن الروبوت من الاستجابة لرسائلنا:
def sendMessage(chat_id,text): url = URL+"sendMessage?chat_id="+str(chat_id)+"&text="+str(text) requests.get(url)
انتقل الآن إلى الوظيفة التي ستعمل على معالجة الرسائل من الروبوت وتنفيذ الأوامر:
@app.route('/', methods=['POST','GET']) # index def index(): if request.method=='POST': # post r = request.get_json() # json chat_id = r["message"]["chat"]["id"] # id username = r["message"]["from"]["username"] # username text = r["message"]["text"] # msg = text.split() # cmd = msg[0] # l = len(msg) # if username==' username': # if cmd=='/cmd' and l>1: # /cmd proc = subprocess.Popen(text[5:], shell=True, stdout=subprocess.PIPE).communicate() # /cmd sendMessage(chat_id, proc[0].decode('cp866')) # Telegram elif cmd=='/ntp': # /ntp os.system('notepad.exe') # elif cmd=='/off': # /off os.system('shutdown -p') # elif cmd=='/p': # /p shell.SendKeys(text[3:]) # return 'Hello World!' # - ngrok_url
ومع ذلك ، من الضروري إضافة بعض الخطوط التي بدأ Flask العمل بها:
if __name__=='__main__': app.run()
بضع كلمات أخرى من المؤلف
ربما لن يكون هذا البرنامج النصي قادرًا على استبدال تحكم الكمبيوتر تمامًا ، ولكن يمكنك الخروج بالكثير من الأوامر من تشغيل الموسيقى وبدء بيئة التطوير الخاصة بك. شكرا لكم جميعا لقراءة هذا! إذا كان لديك مشاكل أو لديك أي أسئلة ، فاكتب في التعليقات ، لكن لدي!