Le bot surveille et contrôle l'ordinateur via des télégrammes

De quel bot parles-tu?


Ceci est un bot que j'ai moi-même écrit en utilisant Python.

Si vous écrivez le «s» du bot, le bot prendra une capture d'écran et vous la renverra.

Si le bot écrit «question xxxxxxxxxxxxxxxx?», Où xxxxxxxxxxxxxxxx est votre question, une fenêtre s'ouvrira sur tout l'écran de l'ordinateur dans lequel votre question est écrite et le formulaire de réponse, après quoi la personne aura la possibilité d'écrire la réponse à votre question et de cliquer sur «Soumettre» , après quoi le bot vous rendra ce que la personne a répondu.

Vous pouvez également écrire n'importe quoi dans le bot, et sur l'ordinateur, une boîte de dialogue s'ouvre avec un bouton «ok» et le contenu que vous avez écrit.

Comment j'ai utilisé ce bot


Je l'ai lancé avant de quitter le magasin, puis je suis juste allé dans le télégramme vers le bot et pris des captures d'écran. Alors mon frère cadet s'est assis devant l'ordinateur et a commencé à y faire son travail.
Ensuite, j'ai écrit le message suivant au bot: "la question, pourquoi vous êtes-vous assis devant l'ordinateur?", Et cela ressemblait à ceci:

image

Eh bien, nous avons correspondu avec lui là-bas et à notre retour à la maison, nous avons convenu qu'il ne ferait plus ça :)

Comment l'ai-je écrit?


Je connais Python depuis longtemps, et je le connais bien, donc ce n'était pas difficile d'écrire un tel bot.
Pour plus ou moins de programmeurs.

J'ai utilisé des bibliothèques: telebot, PyQt5, sys, tkinter, pyautogui, et c'est tout, cela m'a suffi.

Voici le code source du programme:

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


Comme vous pouvez le voir, le bot n'est pas compliqué, mais il y a des bugs:

  • il peut être facilement désactivé via le gestionnaire de tâches,
  • si vous envoyez beaucoup de messages, alors ça vole juste.

Et une personne peut se connecter à votre bot (s’il sait quel est le nom de votre bot) et observer l’ordinateur.

Heureusement, je sais comment le réparer, et peut-être le réparer si vous aimez un tel bot.

Que se passe-t-il dans le bot?


Tout d'abord, j'initialise toutes les bibliothèques que le bot utilisera.

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

Ensuite, je crée une fonction de question:

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

Ensuite, je crée une fonction qui affichera un message à l'utilisateur sur le PC:

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

Ensuite, vous pouvez faire le télégramme et le bot lui-même, créer un bot:

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

Et je crée la première fonction qui répondra à la commande "/ start" du télégramme:

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

Ensuite, nous travaillons également avec des télégrammes, et maintenant nous créons une fonction qui recevra un message de l'utilisateur:

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

Et nous y créons deux fonctions, ce sont msg et 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"))

Ensuite, nous recevons un message de l'utilisateur du bot et vérifions ce qu'il voulait:

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

Il ne reste plus qu'à lancer le bot:

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

C'est tout, c'est comme ça que ça marche.

Comment utiliser un tel bot?


Cela peut sembler compliqué, mais si vous faites tout selon les instructions, rien de compliqué.

instruction


Trouvez dans le télégramme du bot appelé @BotFather,
cela ressemble à ceci: image
Ensuite, écrivez-lui une commande pour créer un nouveau bot, la commande ressemble à ceci: / newbot

image
Ensuite, appelez votre bot comme vous voulez, mais vous devez le nommer individuellement, c'est-à-dire de sorte qu'il n'y a pas un tel bot dans le monde, par exemple: BotStepana3215.



Ensuite, vous devrez trouver le nom de votre bot, et assurez-vous de préfixer "bot", par exemple, je vais appeler mon comme ceci: BotStepana3215_bot:



Et @BotFather vous donnera le jeton de votre bot, il ressemble à ceci:



Ce jeton ne peut être donné à personne d'autre, car il peut changer le bot.

Et il reste à copier le jeton, à l'enregistrer quelque part dans un fichier texte (il est plus pratique de copier à partir de là), exécutez le programme et entrez le jeton là-bas.

Et maintenant, vous pouvez écrire dans votre bot que vous venez de créer (il peut être trouvé dans la recherche de télégrammes par nom de famille, dans mon cas @ BotStepana3215_bot), et tout ce que j'ai répertorié à partir de sa fonctionnalité fonctionnera pour vous.

Où trouver un tel bot?


Ici, j'ai .exe et .py sur github

Mais .exe est uniquement pour Windows 10.

Profitez du programme et écrivez des critiques.

Bonne chance

All Articles