 |
|

11.02.2024, 22:13
|
|
Новичок
Регистрация: 15.01.2023
Сообщений: 18
С нами:
1752304
Репутация:
8
|
|
5e35ac3e75844a668e165dbc5a7d4967.png0x22 · 11 Фев 2024 в 21:13' data-fancybox="lb-post-1454906" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/231776/" style="cursor: pointer;" title="5e35ac3e75844a668e165dbc5a7d4967.png">
Clast PC Control- это кроссплатформенная утилита для управления устройством путем отправки команд через Telegram-бота.
На данный момент большинство подобных программ не поддерживаются разработчиками. 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)]
Необходимые библиотеки:
- telebot
- asyncio
- pyautogui
- keyboard
Сообщение от Спойлер
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__
|
|
|

12.02.2024, 11:04
|
|
Постоянный
Регистрация: 26.10.2021
Сообщений: 500
С нами:
2394515
Репутация:
48
|
|
Сообщение от 0x22
/ВыклТаймер (время, mc)Таймер до выключения (only Linux)/ПерезТаймер (время, mc)Таймер до перезагрузки (only Linux)
в чем проблема добавить под шиндовс?
Код:
Код:
shutdown /s /t {секунды} Выключение
shutdown /r /t {секунды} Ребут
shutdown /a Отмена отключение
|
|
|

12.02.2024, 18:29
|
|
Постоянный
Регистрация: 05.11.2021
Сообщений: 634
С нами:
2380746
Репутация:
68
|
|
@AnWu, подчищаем конкурентов?)
|
|
|

12.02.2024, 18:35
|
|
Флудер
Регистрация: 08.11.2017
Сообщений: 4,787
С нами:
4480376
Репутация:
183
|
|
Сообщение от TastyBread123
@AnWu, подчищаем конкурентов?)
Нет
|
|
|

12.02.2024, 19:36
|
|
Новичок
Регистрация: 15.01.2023
Сообщений: 18
С нами:
1752304
Репутация:
8
|
|
Сообщение от xanndiane
в чем проблема добавить под шиндовс?
Код:
Код:
shutdown /s /t {секунды} Выключение
shutdown /r /t {секунды} Ребут
shutdown /a Отмена отключение
мне долго добавлять и тестить было, ибо я на линуксе сижу.
сегодня добавлю
pizdec:
Код:
from
telebot
import
*
from
telebot
import
types
ахуенна
1.2 Update | 12.02.2024
Изменения:
- Поправлено управление питанием, теперь можно запускать и с Линукса и с Винды
- Добавлена возможность поиска
- Добавлена возможность открытия ссылок
- Убраны ненужные импорты
- Прочие небольшие правки
Дополнил топик. Обновил информацию, файл.
Архив прикреплен ниже.
|
|
|

12.02.2024, 22:06
|
|
Постоянный
Регистрация: 26.10.2021
Сообщений: 500
С нами:
2394515
Репутация:
48
|
|
Сообщение от 0x22
Поправлено управление питанием, теперь можно запускать и с Линукса и с Винды
Переделай под /s /t 0, потому что так будет моментально а не через минуту. Да и на линуксе же вроде надо shutdown now?
|
|
|

12.02.2024, 22:24
|
|
Новичок
Регистрация: 15.01.2023
Сообщений: 18
С нами:
1752304
Репутация:
8
|
|
Сообщение от xanndiane
Переделай под /s /t 0, потому что так будет моментально а не через минуту. Да и на линуксе же вроде надо shutdown now?
обновил
|
|
|

14.02.2024, 21:54
|
|
Новичок
Регистрация: 15.01.2023
Сообщений: 18
С нами:
1752304
Репутация:
8
|
|
1.3 Update | 14.02.2024
Что изменилось?
- Теперь все данные (версия, токен) хранятся в общем конфигурационном файле - settings.json
- Небольшие изменения, исправления
Обновил инструкцию по установке.
|
|
|

16.02.2024, 19:37
|
|
Познающий
Регистрация: 23.05.2021
Сообщений: 59
С нами:
2619715
Репутация:
13
|
|
Вау, минуты 2-3 так сижу
|
|
|

16.02.2024, 20:21
|
|
Новичок
Регистрация: 15.01.2023
Сообщений: 18
С нами:
1752304
Репутация:
8
|
|
Сообщение от UwwU
Вау, минуты 2-3 так сижу
все в норме, если скрипт завис - значит можно уже управлять через бота. просто свернуть надо. в будущем асинхронность сделаю, чтобы интерфейс работал. если бы он просто виснул намертво - я бы не заливал скрипт.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|