Консоль для питон бота

Делаю бота в discord, через которого я смогу управлять компъютером через телефон,и хочу сделать консоль в которой будет выводитса действие которое было сделано на пк(по типу: на вашем пк была открыта Opera и тд), и писалось в определёный текстовый канал (что-то похожее на канал аудита, только про действие сделаные на пк, а не в дискорде), но не знаю как это сделать, точнее не знаю библиотеку которая могла б такое сделать, если есть такая библиотека напишите пожалуйста, буду очень благодарен.


Ответы (1 шт):

Автор решения: Amgarak

Не знаю насколько вам подойдет моя идея, но из самого простого, можно отслеживать активные процессы и окна на которых сейчас фокус.

import time
import os
import psutil
import pygetwindow as gw # pip install pygetwindow psutil

while True:
    active_window = gw.getActiveWindow()
    processes = []
    for process in psutil.process_iter(['pid', 'name']):
        processes.append((process.info['pid'], process.info['name']))

    print(f'Активное окно: {active_window}')
    print('Активные процессы:')
    for pid, name in processes:
        print(f'PID: {pid}, Название: {name}')

    time.sleep(5)  # Пауза между обновлениями
    os.system('cls' if os.name == 'nt' else 'clear') # Очистка консоли

Алгоритм вижу примерно такой:

Записываем список активных процессов, при появлении в списке нового процесса сигнализируем о том, что запустилась новая программа и т.д.

Так же можно попытается обыграть всё и через активное окно в фокусе. Сменился фокус - сигнализируем.

Функции для работы c PID модуля psutil в Python

PyGetWindow

→ Ссылка