Bot memonitor dan mengontrol komputer melalui telegram

Bot apa yang kamu bicarakan?


Ini adalah bot yang saya sendiri tulis menggunakan Python.

Jika Anda menulis bot "s", bot akan mengambil tangkapan layar dan mengirimkannya kembali kepada Anda.

Jika bot menulis "pertanyaan xxxxxxxxxxxxxxxx?", Di mana xxxxxxxxxxxxxxxx adalah pertanyaan Anda, maka sebuah jendela akan terbuka di seluruh layar komputer di mana pertanyaan Anda ditulis dan formulir jawaban, setelah itu orang tersebut akan memiliki kesempatan untuk menulis jawaban atas pertanyaan Anda dan klik "Kirim" , setelah itu bot akan kembali kepada Anda apa yang dijawab orang tersebut.

Anda juga dapat menulis apa pun ke bot, dan di komputer kotak dialog terbuka dengan tombol "ok" dan konten yang Anda tulis.

Bagaimana saya menggunakan bot ini


Saya meluncurkannya sebelum saya meninggalkan toko, lalu saya pergi ke telegram ke bot dan mengambil screenshot. Jadi adik lelaki saya duduk di depan komputer, dan mulai melakukan pekerjaannya di sana.
Lalu saya menulis pesan berikut kepada bot: "pertanyaannya, mengapa Anda duduk di depan komputer?", Dan kelihatannya seperti ini:

gambar

Ya, kami berkorespondensi dengannya di sana dan setibanya di rumah kami sepakat bahwa ia tidak akan melakukan ini lagi :)

Bagaimana saya menulisnya?


Saya sudah mengenal Python sejak lama, dan saya tahu betul, jadi tidak sulit untuk menulis bot seperti itu.
Untuk kurang lebih programmer.

Saya menggunakan perpustakaan: telebot, PyQt5, sys, tkinter, pyautogui, dan itu saja, itu sudah cukup bagi saya.

Berikut adalah kode sumber untuk program ini:

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


Seperti yang Anda lihat, bot tidak rumit, tetapi ada bug:

  • itu dapat dengan mudah dinonaktifkan melalui task manager,
  • jika Anda mengirim banyak pesan, maka itu hanya terbang.

Dan beberapa orang dapat terhubung ke bot Anda (jika dia tahu apa nama bot Anda) dan mengamati komputer.

Untungnya, saya tahu cara memperbaikinya, dan mungkin memperbaikinya jika Anda suka bot seperti itu.

Apa yang terjadi di bot?


Pertama, saya menginisialisasi semua perpustakaan yang akan digunakan bot.

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

Selanjutnya, saya membuat fungsi pertanyaan:

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

Selanjutnya, saya membuat fungsi yang akan menampilkan pesan kepada pengguna di 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_()# 

Kemudian Anda bisa melakukan telegram dan bot itu sendiri, membuat bot:

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

Dan saya membuat fungsi pertama yang akan menanggapi perintah "/ mulai" di telegram:

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

Kemudian kami juga bekerja dengan telegram, dan sekarang kami membuat fungsi yang akan menerima pesan dari pengguna:

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

Dan di dalamnya kita membuat dua fungsi, ini adalah msg dan 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"))

Selanjutnya, kami menerima pesan dari pengguna bot, dan memeriksa apa yang diinginkannya:

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

Tetap hanya meluncurkan bot:

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

Itu saja, begitulah cara kerjanya.

Bagaimana cara menggunakan bot seperti itu?


Ini mungkin terlihat rumit, tetapi jika Anda melakukan semuanya sesuai dengan instruksi, maka tidak ada yang rumit.

petunjuk


Temukan di telegram bot yang disebut @BotFather,
tampilannya seperti ini: gambar
Selanjutnya, tuliskan dia perintah untuk membuat bot baru, perintahnya terlihat seperti ini: / newbot

gambar
Selanjutnya, panggil bot Anda seperti yang Anda inginkan, tetapi Anda harus memberi nama secara terpisah, mis. sehingga tidak ada bot seperti itu di dunia, misalnya: BotStepana3215.



Selanjutnya, Anda harus membuat nama bot Anda, dan pastikan untuk awalan "bot", misalnya, saya akan memanggil yang seperti ini: BotStepana3215_bot:



Dan @BotFather akan memberi Anda token bot Anda, sepertinya ini:



Token ini tidak dapat diberikan kepada orang lain, karena dapat ganti bot.

Dan masih menyalin token, menyimpannya di suatu tempat dalam file teks (lebih mudah untuk menyalin dari sana), jalankan program dan masukkan token di sana.

Dan sekarang Anda dapat menulis ke bot Anda yang baru saja Anda buat (dapat ditemukan dalam pencarian telegram dengan nama belakang, dalam kasus saya @ BotStepana3215_bot), dan semua yang saya cantumkan dari fungsinya akan bekerja untuk Anda.

Di mana mendapatkan bot seperti itu?


Di sini saya memiliki .exe dan .py di github

Tapi .exe hanya untuk windows 10.

Nikmati programnya dan tulis ulasannya.

Semoga berhasil

All Articles