- 18
- 5
На данный момент большинство подобных программ не поддерживаются разработчиками. Clast PC Control имеет частичную кроссплатформенность (Linux, Windows).
Бота вы создаете сами, через @BotFather. Токен нужно лишь вписать в конфигурационный файл.
/Отключить | Отключает скрипт |
/Скриншот | Делает скриншот и отправляет в бота |
/ВыключитьПК | Выключает ПК |
/ПерезагрузитьПК | Перезагружает ПК |
/ВыклТаймер (время, mc) | Таймер до выключения |
/ПерезТаймер (время, mc) | Таймер до перезагрузки |
/ОтменаВыключения | Отменяет все процессы, связанные с управлением питанием |
/ALT+TAB | Выполняет Alt+Tab |
/ALT+F4 | Выполняет Alt+F4 |
/ВводТекста (text) | Вводит заданный текст |
/Поиск (text) | Поиск в браузере |
/ОткрытьСсылку (url) | Открыть ссылку в браузере |
/Enter | Выполняет Enter |
Инструкция по установке:
- Создать бота в @BotFather, скопировать токен
- Вставить свой токен в settings.json (строка TOKEN)
- Запустить скрипт
- Нажать "Подключиться"
| Clast PC Control/
|___main.py [Запуск в консолью]
|___main.pyw [Запуск без консоли]
|___settings.json
|___src/
-----|___screenshot.png [Создается при скриншоте]
|___old/
-----|___main.py [OLD GUI (after 1.4)]
|___main.py [Запуск в консолью]
|___main.pyw [Запуск без консоли]
|___settings.json
|___src/
-----|___screenshot.png [Создается при скриншоте]
|___old/
-----|___main.py [OLD GUI (after 1.4)]
Необходимые библиотеки:
- telebot
- asyncio
- pyautogui
- keyboard
pip3 install <library>
source:
# import
import json
from telebot import *
import asyncio
import pyautogui
import os
import sys
import keyboard
import webbrowser
# configuration
with open('settings.json', 'r') as settings:
sdata = json.load(settings)
token = sdata['TOKEN']
version = sdata['VERSION']
bot = TeleBot(token)
# bot body
@bot.message_handler(commands=['start'])
def bstart(message):
klava = types.ReplyKeyboardMarkup()
b1 = types.KeyboardButton('/Отключить')
b2 = types.KeyboardButton('/Скриншот')
b3 = types.KeyboardButton('/ВыключитьПК')
b4 = types.KeyboardButton('/ПерезагрузитьПК')
b5 = types.KeyboardButton('/ВыклТаймер')
b6 = types.KeyboardButton('/ПерезТаймер')
b7 = types.KeyboardButton('/ОтменаВыключения')
b8 = types.KeyboardButton('/ALT+TAB')
b9 = types.KeyboardButton('/ALT+F4')
b10 = types.KeyboardButton('/ВводТекста')
b11 = types.KeyboardButton('/ОткрытьСсылку')
b12 = types.KeyboardButton('/Поиск')
b13 = types.KeyboardButton('/Enter')
klava.add(b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13)
bot.send_message(message.from_user.id, f'Бот активирован. Работа осуществляется под управлением системы Clast PC Control [v.{version}]', reply_markup=klava)
@bot.message_handler(commands=['ОткрытьСсылку'])
def link_open(message):
url = message.text[14:]
webbrowser.open_new(url)
@bot.message_handler(commands=['Поиск'])
def browse(message):
source = message.text[6:]
source.replace(' ', '+')
webbrowser.open_new('https://yandex.ru/search/?lr=10735&text=' + str(source))
@bot.message_handler(commands=['Скриншот'])
def bscreen(message):
screen = pyautogui.screenshot('src/screenshot.png')
scr = open('src/screenshot.png','rb')
bot.send_photo(message.from_user.id, scr)
os.remove('src/screenshot.png')
@bot.message_handler(commands=['Отключить'])
def bexit(message):
loading_id = message.message_id
bot.delete_message(message.chat.id, loading_id)
os.abort()
@bot.message_handler(commands=['ВыключитьПК'])
def shutdown(message):
if os.name == 'posix':
os.system('shutdown now')
elif os.name == 'nt':
os.system('shutdown /s /t 0')
@bot.message_handler(commands=['ПерезагрузитьПК'])
def reboot(message):
if os.name == 'posix':
os.system('shutdown -r now')
elif os.name == 'nt':
os.system('shutdown /r /t 0')
@bot.message_handler(commands=['ВыклТаймер'])
def shuttime(message):
message = message.text[11:]
message = int(message)
if os.name == 'posix':
os.system(f'shutdown -t {message}')
elif os.name == 'nt':
os.system(f'shutdown /s /t {message}')
@bot.message_handler(commands=['ПерезТаймер'])
def rebtime(message):
message = message.text[12:]
message = int(message)
if os.name == 'posix':
os.system(f'shutdown -r {message}')
elif os.name == 'nt':
os.system(f'shutdown /r /t {message}')
@bot.message_handler(commands=['ОтменаВыключения'])
def shutcancel(message):
if os.name == 'posix':
os.system('shutdown -c')
elif os.name == 'nt':
os.system('shutdown /a')
@bot.message_handler(commands=['ALT+TAB'])
def alttab(message):
keyboard.press_and_release('Alt+Tab')
@bot.message_handler(commands=['ALT+F4'])
def altf4(message):
keyboard.press_and_release('Alt+F4')
@bot.message_handler(commands=['ВводТекста'])
def vvod(message):
message = message.text[12:]
keyboard.write(message)
@bot.message_handler(commands=['Enter'])
def enter(message):
keyboard.press_and_release('Enter')
# functions
if token == 'Введите свой токен Telegram-бота сюда':
print('Error!')
else:
try:
loop = asyncio.get_event_loop()
loop.create_task(bot.polling(none_stop=True))
print('Started')
loop.run_forever()
except Exception as e:
print(e)
Для отключения используйте /Отключить
Проект полностью с открытым исходным кодом. Вы можете модифицировать его, как душе угодно. Код конечно грязноват, но главное что работает.
Товарищи форумчане, прошу вас оставить хоть какой-то фидбек :)
Qlcode Dev. a.k.a. 0x22
qlcode.dev@gmail.com
VK: @githuberrr
TG: ind1ana_j0n3s
DS: __neadekvat__
qlcode.dev@gmail.com
VK: @githuberrr
TG: ind1ana_j0n3s
DS: __neadekvat__
last version: 1.5
Вложения
Последнее редактирование: