बॉट टेलीग्राम के माध्यम से कंप्यूटर की निगरानी और नियंत्रण करता है

आप किस बॉट की बात कर रहे हैं?


यह एक बॉट है जिसे मैंने खुद पायथन का उपयोग करके लिखा था।

यदि आप बॉट "s" लिखते हैं, तो बॉट एक स्क्रीनशॉट लेगा और आपको वापस भेज देगा।

अगर बॉट "प्रश्न xxxxxxxxxxxxxxxx?" लिखता है, तो xxxxxxxxxxxxxxxx आपका प्रश्न कहां है, तो संपूर्ण कंप्यूटर स्क्रीन पर एक विंडो खुलेगी जिसमें आपका प्रश्न और उत्तर फॉर्म लिखा होगा, जिसके बाद व्यक्ति को आपके प्रश्न का उत्तर लिखने का अवसर मिलेगा और "सबमिट" पर क्लिक करें। जिसके बाद बॉट आपके पास वापस आ जाएगा जो उस व्यक्ति ने उत्तर दिया।

आप बॉट को कुछ भी लिख सकते हैं, और कंप्यूटर पर एक डायलॉग बॉक्स "ओके" बटन और आपके द्वारा लिखी गई सामग्री के साथ खुलता है।

मैंने इस बॉट का इस्तेमाल कैसे किया


स्टोर से निकलने से पहले मैंने इसे लॉन्च किया, फिर मैं बस टेलीग्राम में बॉट में गया और स्क्रीनशॉट लिया। तो मेरा छोटा भाई कंप्यूटर पर बैठ गया, और वहाँ अपना काम करने लगा।
तब मैंने बॉट को निम्न संदेश लिखा: "सवाल, आप कंप्यूटर पर क्यों बैठ गए?", और यह इस तरह दिखता था:

छवि

ठीक है, हमने उसके साथ वहां पत्राचार किया और घर पहुंचने पर हम सहमत हुए कि वह अब ऐसा नहीं करेगा :)

मैंने इसे कैसे लिखा?


मैं अजगर को लंबे समय से जानता हूं, और मैं इसे अच्छी तरह से जानता हूं, इसलिए इस तरह के बॉट को लिखना मुश्किल नहीं था।
अधिक या कम प्रोग्रामर के लिए।

मैंने पुस्तकालयों का उपयोग किया: टेलीबॉट, PyQt5, sys, tkinter, pyautogui, और यह सब, मेरे लिए पर्याप्त था।

यहाँ कार्यक्रम के लिए स्रोत कोड है:

import telebot as TL#          
from PyQt5.QtWidgets import QMessageBox#    messagebox     
import PyQt5#     
import sys#     
from tkinter import *#     ,          
from pyautogui import screenshot#    pyautogui   

token = input("  : ")

def vopros(mess,msg):#     
    def ok_btn(entr,msg,root):#     ,       ""
        msg = msg
        root = root
        msg(": "+entr.get())
        root.destroy()
    root = Tk()#   tkinter  
    root.geometry("200x200")#   
    root.attributes("-fullscreen",True)# ,         
    root.lift()#   lift,     
    lab = Label(root,text=mess)# ,          
    entr = Entry(root)#  
    btn_ok = Button(text="",command=lambda: ok_btn(entr,msg,root))#  "",     "ok_btn",     :  ,   ,  
    lab.pack()# 
    entr.pack()#  
    btn_ok.pack()##  ""
    root.mainloop()#  


def msg_mean(mess):#      
    newApp = PyQt5.QtWidgets.QApplication(sys.argv)#    PyQt5
    msg = QMessageBox()#   
    msg.setWindowTitle("")#     
    msg.setText(mess)#   ,    
    msg.setIcon(QMessageBox.Critical)#    
    x = msg.exec_()# 

bot = TL.TeleBot(token)#  "bot",     
@bot.message_handler(commands=['start'])#   bot  
def start_message(message):#        
                           #      ,    start 
                           #   
    bot.send_message(message.chat.id, ',  :)')#    " "

@bot.message_handler(content_types=['text'])#   bot  
def send_text(message):#    ()      
    def msg(message_text):#     
        bot.send_message(message.chat.id, str(message_text))#  id    ,          
    def snd_doc(name_doc):#     "msg",      (      )
        bot.send_document(message.chat.id, open(name_doc,"rb"))
    if message.text[:6] == "":#         "",      
        vopros(message.text,msg)#        
    else:#  
        if message.text == "s":#    "s"
            screen = screenshot('s.jpg')#   
            snd_doc("s.jpg")#      "snd_doc" 
        else:#      "s"    "",     
            msg_mean(message.text)#        


while True:#      
    try:
        bot.polling()#  
    except(BaseException):
        pass#   
    #         
    #      


जैसा कि आप देख सकते हैं, बॉट जटिल नहीं है, लेकिन कीड़े हैं:

  • यह कार्य प्रबंधक के माध्यम से आसानी से अक्षम किया जा सकता है,
  • यदि आप बहुत सारे संदेश भेजते हैं, तो यह बस उड़ जाता है।

और कोई व्यक्ति आपके बॉट से जुड़ सकता है (यदि वह जानता है कि आपके बॉट का नाम क्या है) और कंप्यूटर का निरीक्षण करें।

सौभाग्य से, मुझे पता है कि इसे कैसे ठीक करना है, और यदि आप इस तरह के बॉट को पसंद करते हैं, तो इसे ठीक कर सकते हैं।

क्या होता है बॉट में?


सबसे पहले, मैं उन सभी पुस्तकालयों को आरंभीकृत करता हूं जो बॉट उपयोग करेंगे।

import telebot as TL#          
from PyQt5.QtWidgets import QMessageBox#    messagebox     
import PyQt5#     
import sys#     
from tkinter import *#     ,          
from pyautogui import screenshot#    pyautogui   

अगला, मैं एक प्रश्न फ़ंक्शन बनाता हूं:

def vopros(mess,msg):#     
    def ok_btn(entr,msg,root):#     ,       ""
        msg = msg
        root = root
        msg(": "+entr.get())
        root.destroy()
    root = Tk()#   tkinter  
    root.geometry("200x200")#   
    root.attributes("-fullscreen",True)# ,         
    root.lift()#   lift,     
    lab = Label(root,text=mess)# ,          
    entr = Entry(root)#  
    btn_ok = Button(text="",command=lambda: ok_btn(entr,msg,root))#  "",     "ok_btn",     :  ,   ,  
    lab.pack()# 
    entr.pack()#  
    btn_ok.pack()##  ""
    root.mainloop()#  

अगला, मैं एक फ़ंक्शन बनाता हूं जो उपयोगकर्ता को पीसी पर एक संदेश प्रदर्शित करेगा:

def msg_mean(mess):#      
    newApp = PyQt5.QtWidgets.QApplication(sys.argv)#    PyQt5
    msg = QMessageBox()#   
    msg.setWindowTitle("")#     
    msg.setText(mess)#   ,    
    msg.setIcon(QMessageBox.Critical)#    
    x = msg.exec_()# 

फिर आप टेलीग्राम और बॉट खुद कर सकते हैं, एक बॉट बनाएं:

bot = TL.TeleBot(token)#  "bot",     

और मैं पहला फ़ंक्शन बनाता हूं जो टेलीग्राम में "/ शुरू" कमांड का जवाब देगा:

def start_message(message):#        
                           #      ,    start 
                           #   
    bot.send_message(message.chat.id, ',  :)')#    " "

तब हम टेलीग्राम के साथ भी काम करते हैं, और अब हम एक फ़ंक्शन बनाते हैं जो उपयोगकर्ता से एक संदेश प्राप्त करेगा:

@bot.message_handler(content_types=['text'])#   bot  
def send_text(message):#    ()      

और इसमें हम दो फंक्शन बनाते हैं, ये हैं msg और snd_doc।

    def msg(message_text):#     
        bot.send_message(message.chat.id, str(message_text))#  id    ,          
    def snd_doc(name_doc):#     "msg",      (      )
        bot.send_document(message.chat.id, open(name_doc,"rb"))

फिर हमें बॉट उपयोगकर्ता से एक संदेश प्राप्त होता है, और जांच लें कि वह क्या चाहता है:

    if message.text[:6] == "":#         "",      
        vopros(message.text,msg)#        
    else:#  
        if message.text == "s":#    "s"
            screen = screenshot('s.jpg')#   
            snd_doc("s.jpg")#      "snd_doc" 
        else:#      "s"    "",     
            msg_mean(message.text)#        

यह केवल बॉट लॉन्च करने के लिए बनी हुई है:

while True:#      
    try:
        bot.polling()#  
    except(BaseException):
        pass#   
    #         
    #      

यह सब है, यह कैसे काम करता है।

ऐसे बॉट का उपयोग कैसे करें?


यह जटिल लग सकता है, लेकिन यदि आप निर्देशों के अनुसार सब कुछ करते हैं, तो कुछ भी जटिल नहीं है।

अनुदेश


@BotFather नामक बॉट के टेलीग्राम में खोजें,
यह इस तरह दिखता है: छवि
अगला, उसे एक नया बॉट बनाने के लिए एक कमांड लिखें, कमांड इस तरह दिखता है: / newbot

छवि
अगला, जैसा कि आप चाहते हैं, अपने बॉट को कॉल करें, लेकिन आपको व्यक्तिगत रूप से नाम देने की आवश्यकता है, अर्थात ताकि दुनिया में ऐसा कोई बॉट न हो, उदाहरण के लिए: BotStepana3215।



इसके बाद, आपको अपने बॉट के नाम के साथ आना होगा, और "बॉट" को उपसर्ग करना सुनिश्चित करें, उदाहरण के लिए, मैं अपने एक को इस तरह से कॉल करूंगा: BotStepana3215_bot:



और @BotFather आपको आपके बॉट का टोकन देगा, यह इस तरह दिखता है:



यह टोकन किसी और को नहीं दिया जा सकता है, क्योंकि यह किसी और को नहीं दिया जा सकता है। बॉट बदलें।

और यह टोकन को कॉपी करने के लिए बना रहता है, इसे टेक्स्ट फाइल में कहीं सेव करें (यह वहां से कॉपी करने के लिए अधिक सुविधाजनक है), प्रोग्राम को चलाएं और वहां टोकन डालें।

और अब आप अपने बॉट को लिख सकते हैं जो आपने अभी बनाया है (यह अंतिम नाम से टेलीग्राम की खोज में पाया जा सकता है, मेरे मामले में @ BotStepana3215_bot), और जो कुछ मैंने इसकी कार्यक्षमता से सूचीबद्ध किया है वह आपके लिए काम करेगा।

ऐसे बॉट कहां से लाएं?


यहाँ पर मेरे पास .exe और .py पर github है।

लेकिन .exe केवल विंडोज़ के लिए है।

कार्यक्रम का आनंद लें और समीक्षा लिखें।

सौभाग्य

All Articles