Der Bot überwacht und steuert den Computer per Telegramm

Über welchen Bot sprichst du?


Dies ist ein Bot, den ich selbst mit Python geschrieben habe.

Wenn Sie die Bot "s" schreiben, macht der Bot einen Screenshot und sendet ihn an Sie zurück.

Wenn der Bot "Frage xxxxxxxxxxxxxxxxx?" Schreibt, wobei xxxxxxxxxxxxxxx Ihre Frage ist, wird auf dem gesamten Computerbildschirm, in dem Ihre Frage geschrieben ist, und dem Antwortformular ein Fenster geöffnet, in dem die Person die Möglichkeit hat, die Antwort auf Ihre Frage zu schreiben und auf "Senden" zu klicken. Danach kehrt der Bot zu Ihnen zurück, was die Person geantwortet hat.

Sie können auch alles in den Bot schreiben. Auf dem Computer wird ein Dialogfeld mit der Schaltfläche "OK" und den von Ihnen geschriebenen Inhalten geöffnet.

Wie ich diesen Bot benutzt habe


Ich habe es gestartet, bevor ich den Laden verlassen habe, dann bin ich einfach ins Telegramm zum Bot gegangen und habe Screenshots gemacht. Also saß mein jüngerer Bruder am Computer und begann dort zu arbeiten.
Dann schrieb ich dem Bot die folgende Nachricht: "Die Frage, warum hast du am Computer gesessen?" Und es sah so aus:

Bild

Nun, wir haben dort mit ihm korrespondiert und als wir zu Hause ankamen, waren wir uns einig, dass er nicht mehr so ​​sein würde :)

Wie habe ich es geschrieben?


Ich kenne Python schon lange und kenne es gut, daher war es nicht schwierig, einen solchen Bot zu schreiben.
Für mehr oder weniger Programmierer.

Ich habe Bibliotheken benutzt: Telebot, PyQt5, sys, tkinter, pyautogui, und das war alles, das hat mir gereicht.

Hier ist der Quellcode für das Programm:

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#   
    #         
    #      


Wie Sie sehen können, ist der Bot nicht kompliziert, aber es gibt Fehler:

  • Es kann einfach über den Task-Manager deaktiviert werden.
  • Wenn Sie viele Nachrichten senden, fliegt es einfach.

Und eine Person kann sich mit Ihrem Bot verbinden (wenn sie weiß, wie Ihr Bot heißt) und den Computer beobachten.

Glücklicherweise weiß ich, wie man es repariert, und vielleicht, wenn Sie einen solchen Bot mögen.

Was passiert im Bot?


Zuerst initialisiere ich alle Bibliotheken, die der Bot verwenden wird.

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

Als nächstes erstelle ich eine Fragenfunktion:

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()#  

Als nächstes erstelle ich eine Funktion, die dem Benutzer auf dem PC eine Meldung anzeigt:

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_()# 

Dann können Sie das Telegramm und den Bot selbst erstellen und einen Bot erstellen:

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

Und ich erstelle die erste Funktion, die auf den Befehl "/ start" im Telegramm reagiert:

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

Dann arbeiten wir auch mit Telegrammen und erstellen jetzt eine Funktion, die eine Nachricht vom Benutzer erhält:

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

Und darin erstellen wir zwei Funktionen, nämlich msg und 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"))

Dann erhalten wir eine Nachricht vom Bot-Benutzer und überprüfen, was er wollte:

    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)#        

Es bleibt nur der Bot zu starten:

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

Das ist alles, so funktioniert es.

Wie benutzt man einen solchen Bot?


Es mag kompliziert erscheinen, aber wenn Sie alles gemäß den Anweisungen tun, ist nichts kompliziert.

Anweisung


Suchen Sie im Telegramm des Bots namens @BotFather,
es sieht folgendermaßen aus: Bild
Schreiben Sie ihm als Nächstes einen Befehl, um einen neuen Bot zu erstellen. Der Befehl sieht folgendermaßen aus: / newbot

Bild
Rufen Sie als Nächstes Ihren Bot an, wie Sie möchten, aber Sie müssen ihn einzeln benennen, d. H. so dass es keinen solchen Bot auf der Welt gibt, zum Beispiel: BotStepana3215.



Als nächstes müssen Sie den Namen Ihres Bots eingeben



und sicherstellen, dass Sie "bot" voranstellen. Ich werde beispielsweise meinen Namen so nennen: BotStepana3215_bot: Und @BotFather gibt Ihnen das Token Ihres Bots. Es sieht so aus:



Dieses Token kann niemand anderem gegeben werden, weil es möglich ist ändere den Bot.

Und es bleibt, das Token zu kopieren, es irgendwo in einer Textdatei zu speichern (es ist bequemer, von dort zu kopieren), das Programm auszuführen und das Token dort einzugeben.

Und jetzt können Sie an Ihren soeben erstellten Bot schreiben (er kann bei der Suche nach Telegrammen nach Nachnamen gefunden werden, in meinem Fall @ BotStepana3215_bot), und alles, was ich aus seiner Funktionalität aufgelistet habe, funktioniert für Sie.

Wo bekommt man so einen Bot?


Hier habe ich .exe und .py auf github

Aber .exe ist nur für Windows 10.

Genießen Sie das Programm und schreiben Sie Bewertungen.

Viel Glück

All Articles