Skip to main content

Control your entire laptop from Telegram โ€” screenshots, shell, files, processes, power, and more.

Project description

๐Ÿ–ฅ๏ธ TeleDesk

Control your entire laptop from Telegram. Screenshots, shell commands, file management, process control, power management, mouse & keyboard โ€” all from a Telegram chat.

PyPI version Python 3.9+ License: MIT Platform


โšก Quickstart

pip install teledesk
teledesk setup
teledesk start

That's it. Open Telegram, message your bot /start, and you're in control.


๐Ÿ“ฆ Installation

# Basic install
pip install teledesk

# With all optional features (screenshot, clipboard)
pip install teledesk[full]

Python 3.9+ required. Works on macOS, Linux, and Windows.


๐Ÿš€ Setup Wizard

TeleDesk has an interactive setup wizard that walks you through everything:

$ teledesk setup

 โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—     โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—
 โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•
    โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•
    โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•”โ•โ•โ•  โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•”โ•โ•โ•  โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•  โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•—
    โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•—
    โ•šโ•โ•   โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•  โ•šโ•โ•

    Control your laptop. Entirely from Telegram.

โ”Œโ”€ Welcome to TeleDesk Setup โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ This wizard will configure your bot in under 2 minutes.     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Step 1/4 โ€” Bot Token
...

The wizard handles:

  • Bot token entry & live validation (tests connection to Telegram)
  • Authorized user ID collection
  • Download/upload directory configuration
  • Screenshot quality settings
  • Optional dependency check

๐Ÿค– All Commands

๐Ÿ–ฅ๏ธ System

Command Description
/info Full system overview (OS, CPU, RAM, disk, battery)
/cpu Per-core CPU usage with visual bar chart
/mem RAM & swap with bar chart
/disk All drives with usage bars & live I/O speeds
/battery Charge level, status, time remaining
/network All interfaces, IPs, live throughput
/uptime System uptime & boot time
/top Live updating resource monitor (5 refreshes)

โš™๏ธ Processes

Command Description
/ps [name] Top processes by CPU, optional filter
/kill <pid> [signal] Kill/suspend/resume a process

๐Ÿ’ป Shell

Command Description
/run <cmd> Run any shell command, stream output
/sh <cmd> Alias for /run
/runbg <cmd> Run in background, notify when done
/pipe cmd1 ||| cmd2 Build shell pipelines
/env View environment variables
/which <prog> Find program + version
/cron <secs> <cmd> Schedule repeating command
/cronjobs List active scheduled jobs
/cronstop <id> Stop a scheduled job

๐Ÿ“‚ Files

Command Description
/ls [-a] [-s] [path] List directory (hidden, sort by size)
/cd <path> Change directory
/pwd Show current directory
/cat <file> Read file (auto syntax highlight, auto-send large files)
/stat <path> File/directory metadata
/find <pattern> [in dir] Find files by name
/grep <pattern> [path] Search text in files
/mkdir <name> Create directory
/rm [-r] <path> Delete (with confirmation)
/mv <src> <dst> Move/rename
/cp <src> <dst> Copy
/write <file> <content> Write text to file
/download <path> Send file to Telegram (auto-zips directories)
/upload Receive file from Telegram
/zip <path> Create zip archive
/unzip <file.zip> Extract zip

๐Ÿ“ธ Screen & Input

Command Description
/screenshot [delay] Take screenshot (with optional delay)
/ss Quick screenshot alias
/type <text> Type text using keyboard automation
/key <shortcut> Press keyboard shortcuts (ctrl+c, cmd+space, etc.)
/click <x> <y> [btn] [n] Mouse click (left/right/middle, single/double)
/scroll <amount> Scroll mouse wheel
/move <x> <y> Move mouse cursor
/mousepos Get current mouse position + screen size
/open <app|file|url> Open application, file, or URL

๐Ÿ“‹ Clipboard

Command Description
/copy <text> Copy text to clipboard
/paste Read clipboard contents

๐Ÿ”” UI & Media

Command Description
/notify <title> | <msg> Desktop notification
/volume [0-100|up|down|mute] Get or set volume
/brightness <0-100> Set screen brightness

๐Ÿ”‹ Power

Command Description
/shutdown Shutdown (with confirmation)
/restart Restart (with confirmation)
/sleep Sleep / suspend
/hibernate Hibernate
/lock Lock screen
/logout Log out current user
/screensaver Activate screensaver
/displays List connected displays

โš™๏ธ Bot Management

Command Description
/config View or change settings
/logs Audit log of all commands
/status Quick bot status

๐Ÿ–ฅ๏ธ CLI Commands

teledesk setup       # Interactive onboarding wizard
teledesk start       # Start the bot
teledesk start -v    # Start with verbose logging
teledesk status      # Check configuration & dependencies
teledesk config      # View/edit settings interactively
teledesk logs        # View command audit log
teledesk test        # Test Telegram API connection
teledesk adduser     # Add an authorized Telegram user
teledesk stop        # Stop running bot (if backgrounded)
teledesk uninstall   # Remove all TeleDesk data

๐Ÿ”’ Security

TeleDesk is built with security as a priority:

  • User whitelist โ€” Only Telegram user IDs you add in ALLOWED_IDS can control the bot
  • Silent rejection โ€” Unauthorized users get no response (no feedback to attackers)
  • Secure config โ€” Config stored in ~/.teledesk/config.env with chmod 600
  • Audit logging โ€” Every command is logged with timestamp, user, and arguments
  • Confirmation dialogs โ€” Destructive actions (shutdown, delete) require inline confirmation
  • Token protection โ€” Token is never logged or displayed in full

Add multiple authorized users:

teledesk adduser   # Interactive
# or:
# Edit ~/.teledesk/config.env:
# TELEDESK_ALLOWED_IDS="111222333,444555666"

โšก Run at Startup

macOS (launchd)

<!-- ~/Library/LaunchAgents/com.teledesk.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>             <string>com.teledesk</string>
    <key>ProgramArguments</key>  <array><string>/usr/local/bin/teledesk</string><string>start</string><string>--no-banner</string></array>
    <key>RunAtLoad</key>         <true/>
    <key>KeepAlive</key>         <true/>
    <key>StandardErrorPath</key> <string>/tmp/teledesk.err</string>
</dict>
</plist>
launchctl load ~/Library/LaunchAgents/com.teledesk.plist

Linux (systemd)

# /etc/systemd/system/teledesk.service
[Unit]
Description=TeleDesk Laptop Control Bot
After=network.target

[Service]
Type=simple
User=youruser
ExecStart=/usr/local/bin/teledesk start --no-banner
Restart=always
RestartSec=10
Environment=DISPLAY=:0

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now teledesk

Windows (Task Scheduler)

$action  = New-ScheduledTaskAction -Execute "teledesk" -Argument "start --no-banner"
$trigger = New-ScheduledTaskTrigger -AtLogOn
Register-ScheduledTask -TaskName "TeleDesk" -Action $action -Trigger $trigger -RunLevel Highest

๐Ÿ”ง Configuration

Config is stored at ~/.teledesk/config.env:

TELEDESK_BOT_TOKEN=1234567890:ABCdef...
TELEDESK_ALLOWED_IDS=123456789,987654321
TELEDESK_DOWNLOAD_DIR=/Users/you/Downloads
TELEDESK_UPLOAD_DIR=/Users/you/Desktop
TELEDESK_MAX_FILE_MB=50
TELEDESK_SCREENSHOT_QUALITY=85
TELEDESK_LOG_COMMANDS=true

Change settings interactively: teledesk config
Or inside Telegram: /config set max_file_mb 100


๐Ÿ“ฆ Optional Dependencies

Package Feature
pyautogui Screenshot, type, click, scroll, mouse
Pillow Screenshot compression
pyperclip Clipboard read/write
aiofiles Fast async file operations
pip install pyautogui Pillow pyperclip aiofiles

๐Ÿ› ๏ธ API Usage

Use TeleDesk as a library:

from teledesk import Config, TeleDeskBot

config = Config()
# config is auto-loaded from ~/.teledesk/config.env

bot = TeleDeskBot(config)
bot.run()

๐Ÿ“„ License

MIT โ€” See LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

salim-1.0.0.tar.gz (53.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

salim-1.0.0-py3-none-any.whl (55.7 kB view details)

Uploaded Python 3

File details

Details for the file salim-1.0.0.tar.gz.

File metadata

  • Download URL: salim-1.0.0.tar.gz
  • Upload date:
  • Size: 53.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for salim-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2af88a1440c41bba7e5703a51ea7ffa24b6db1f7bed4c2e7208cffcc416ed456
MD5 b7f7d1298a191810a69a856e16e82cf8
BLAKE2b-256 77058bbb5ae7f97fc0ada511cb046c1fb4cb8637e51a5b77ed7240e624bb3819

See more details on using hashes here.

File details

Details for the file salim-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: salim-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 55.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for salim-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6194ab9e9c5b8eb1a4a109e4b37b412108199cd1b0991b27e02f13e83a12d350
MD5 eac229078e33949f7657bc02c44ed0c2
BLAKE2b-256 c2167ce25820ff0e8b1400d3945dfbe909f5058f62a88a6732dd0447ccfaf94b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page