Skip to content

Omer-Dahan/Telegram-windows-command-bot

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

26 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Telegram Windows Command Bot

Telegram Windows Command Bot

Control your Windows PC from anywhere via Telegram. Send any keyboard combo, browse windows, take screenshots, drive VLC/Netflix, manage processes, and more โ€” all from your phone.

Python Windows python-telegram-bot FSD


Screenshots

/start + main menu
1. /start + main menu
every feature one tap away
Power and Hotspot inline keyboards
2. Inline keyboards
Power ยท Hotspot ยท Bluetooth ยท Wi-Fi ยท Volume ยท Brightness ยท VLC ยท Netflix
Combo Builder with L/R modifier pills
3. โŒจ๏ธ Combo Builder
L/R modifier pills + full key grid + Fire-mods-alone

Table of contents


What it does

Telegram Windows Command Bot turns Telegram into a remote control for your Windows machine. The bot runs as a small Python service on the PC; you send messages to your bot from any Telegram client; the PC executes them and replies. Only the configured owner can issue commands โ€” everyone else gets a polite multilingual "go away" message and is logged.

It is built around a single killer primitive โ€” arbitrary keyboard combinations โ€” so you are never limited to predefined buttons. Anything you can do with a real keyboard, you can trigger remotely.

Highlights

  • ๐ŸŽน Flexible keyboard combos โ€” send any hotkey three different ways:
    • Free-text: k ctrl+alt+del, k win+shift+s, k alt+f4 โ€ฆ
    • Interactive Combo Builder โ€” toggleable L/R modifier pills (Ctrlโ†, Winโ†’, Altโ†, Shiftโ†’, โ€ฆ) plus a click-to-fire key grid; tap โ–ถ Fire mods alone to press just Win or just Ctrl.
    • Persistent named macros โ€” /save_macro snip win+shift+s, then /macro snip.
  • ๐Ÿ”€ Interactive Alt+Tab switcher โ€” the bot holds Alt down between messages and edits a screenshot in-place each time you tap Tab+1 / Tab-1, just like cycling on a real keyboard. Tap โœ… Commit to release Alt and switch.
  • โŒจ๏ธ Type any Unicode text โ€” type ืฉืœื•ื ืขื•ืœื works (clipboard-paste path, so Hebrew/CJK/emoji work).
  • ๐Ÿ“ธ Capture โ€” full-screen screenshot, screen recording (configurable seconds), webcam snapshot.
  • ๐Ÿ”Š System control โ€” master volume + mute, screen brightness (via WMI), lock / sleep / hibernate / restart / shutdown / abort, screensaver.
  • ๐ŸŒ Network โ€” toggle Mobile Hotspot and Bluetooth, list Wi-Fi networks, current SSID, local & public IP.
  • ๐ŸชŸ Window & process management โ€” list / focus / close windows, top processes by RAM, kill by name or PID.
  • ๐ŸŽฆ Media controls โ€” VLC and Netflix inline keyboards (play/pause, jump, subtitles, fullscreen, โ€ฆ).
  • ๐Ÿ“‚ Files & shell โ€” ls / cd / pwd / download <path>, cmd <command>, ps1 <powershell>, launch <program>, url <link>.
  • ๐ŸŒ Multilingual security โ€” intruders get a denial message in 12 languages plus a link to the public source.
  • ๐Ÿ“œ Atomic state, rotating logs, rate limiting โ€” production-friendly defaults out of the box.
Power and Hotspot inline keyboards
Tapping ๐Ÿ”‹ Power opens the Power inline keyboard; tapping ๐Ÿ“ก Hotspot opens its toggle/status menu.

Quick start

# 1. Clone
git clone https://github.com/ori-halevi/Telegram-windows-command-bot.git
cd Telegram-windows-command-bot

# 2. Create venv (Python 3.12 recommended)
py -3.12 -m venv venv
.\venv\Scripts\Activate.ps1
python -m pip install --upgrade pip wheel
pip install -r requirements.txt

# 3. Configure secrets
copy .env.example .env
notepad .env       # fill BOT_TOKEN, OWNER_CHAT_ID, OWNER_USERNAME

# 4. Run
python main.py
# or simply:  run_bot.bat

Now message your bot on Telegram and tap /start.

Detailed setup

1. Get a bot token

  1. Open Telegram and message @BotFather.
  2. Send /newbot, choose a name and a @username.
  3. BotFather returns a token like 1234567890:AAโ€ฆ. Keep it secret.

2. Find your chat ID

  1. Message @userinfobot โ€” it replies with your numeric ID.
  2. (Or: send any message to your new bot and visit https://api.telegram.org/bot<TOKEN>/getUpdates to see the chat.id.)

3. Configure .env

# --- Required ---
BOT_TOKEN=1234567890:AA....
OWNER_CHAT_ID=111222333
OWNER_USERNAME=your_telegram_username   # without the @

# --- Optional ---
# Authorise additional users (comma-separated)
# EXTRA_OWNER_CHAT_IDS=444555666,777888999
# EXTRA_OWNER_USERNAMES=alice,bob

# Per-chat rate limit, messages per minute (default 60)
# RATE_LIMIT_PER_MINUTE=60

# Default duration for the ๐ŸŽฅ Record screen button, in seconds (default 30)
# SCREEN_RECORD_SECONDS=30

# DEBUG | INFO | WARNING | ERROR (default INFO)
# LOG_LEVEL=INFO

4. Install dependencies

.\venv\Scripts\Activate.ps1
pip install -r requirements.txt

The bot uses:

Package Purpose
python-telegram-bot[rate-limiter,job-queue]==21.6 async Telegram client
pyautogui, keyboard keyboard & hotkey emulation
pyperclip clipboard read/write
mss, opencv-python, numpy screenshots, screen recording, webcam
psutil processes, system metrics
pygetwindow window list / focus / close
pycaw, comtypes master volume
(PowerShell + WMI) screen brightness

5. Run

python main.py
# or
.\run_bot.bat

The bot logs to logs/bot.log (rotating, max 5 ร— 2 MB) and persists state under data/.

Usage

Main menu

After /start, a reply keyboard appears with these groups:

๐Ÿ“Š System info  | ๐Ÿ”‹ Power
๐Ÿ“ก Hotspot      | ๐ŸŽง Bluetooth | ๐Ÿ“ถ Wi-Fi
๐Ÿ”Š Volume       | ๐Ÿ’ก Brightness
๐Ÿ“ธ Screenshot   | ๐ŸŽฅ Record screen | ๐Ÿ“ท Webcam
โŒจ๏ธ Keys         | โŒจ๏ธ Builder       | ๐Ÿ“ Macros
๐Ÿ”€ Switcher     | ๐ŸชŸ Windows       | ๐Ÿ“„ Processes
๐ŸŽฆ VLC          | ๐ŸŽฌ Netflix
๐Ÿ“‚ Files        | โœ‚ Clipboard
๐Ÿ’ก Help

The welcome message also includes a link back to this repository so anyone you accidentally share the bot with can grab their own copy.

Main menu after /start

Keyboard combos โ€” three ways

1. Free-text โ€” fastest if you know the combo

k ctrl+alt+del          # task manager dialog
k win+shift+s           # snip & sketch
k ctrl+shift+esc        # task manager direct
k win+e                 # explorer
k alt+f4                # close window
type ืฉืœื•ื ืขื•ืœื           # type Unicode text via clipboard

Aliases: win = windows = meta = cmd, control = ctrl, option = alt, del = delete, esc = escape, pgup / pgdn, arrowleft etc.

2. Combo Builder โ€” visual click-to-toggle

Tap โŒจ๏ธ Builder in the menu. You get:

  • Two rows of toggleable modifier pills:
    โ–ซ Ctrlโ†  โ–ซ Shiftโ†  โ–ซ Altโ†  โ–ซ Winโ†
    โ–ซ Ctrlโ†’  โ–ซ Shiftโ†’  โ–ซ Altโ†’  โ–ซ Winโ†’
    
  • An action row: โœ– Reset mods ยท ๐Ÿ” Refresh ยท โ–ถ Fire mods alone ยท ๐ŸŒ Lang (Win+Space)
  • A grid of every key (esc, F1โ€“F12, 0โ€“9, aโ€“z, punctuation, arrows, home/end, pgup/pgdn, ins/del, capslock, โ€ฆ).

Toggle any combination of modifiers, then tap a key โ€” the combo fires and modifiers reset. Use โ–ถ Fire mods alone to press just the toggled modifiers (e.g. tap Winโ† then Fire to open the Start menu). The ๐ŸŒ Lang shortcut sends Win+Space directly so you can flip keyboard layouts without setting any modifier.

Combo Builder inline keyboard

3. Macros โ€” saved sequences

/list_macros                          # see all macros
/macro task_manager                   # run a saved one
/save_macro snip   win+shift+s        # save a single combo
/save_macro flow   win+r ; chrome ; enter   # save a sequence (semicolons)
/delete_macro snip

Defaults shipped: task_manager, lock, show_desktop, explorer, run, snip, settings, search, action_center, switcher, close_window, new_desktop, next_desktop, prev_desktop.

Interactive Alt+Tab switcher

Tap ๐Ÿ”€ Switcher in the main menu. The bot:

  1. Presses-and-holds Alt (so the Windows task switcher overlay stays visible),
  2. Presses Tab once,
  3. Sends you a screenshot with an inline keyboard.

Then:

Button Action
Tab+1 โžก, Tab+2 / 3 / 5 / 10 tap forward through windows
โฌ… Tab-1, Tab-2 / 3 tap backward (Shift+Tab)
โœ… Commit (switch) release Alt โ†’ focus the highlighted window
โŽ Cancel press Esc, then release Alt
๐Ÿ”“ Release all safety: release any held modifier

Each tap edits the same photo message in-place with a fresh screenshot, so you watch the switcher overlay update like a real keyboard. If the switcher is left active idle for 120 seconds, the next interaction auto-releases Alt to avoid a stuck modifier. You can also send /release_keys at any time as a manual safety net.

Free-text commands

Command Meaning
k <combo> / keys <combo> / hotkey <combo> press an arbitrary key combination
type <text> / t <text> type/paste arbitrary Unicode text
info system info (CPU, RAM, disks, uptime, battery)
lock / sleep / hibernate quick power actions
shutdown [N] / restart [N] / abort_shutdown scheduled power (default 5 s delay)
vol [0-100] / mute master volume / toggle mute
bright [0-100] screen brightness
mouse [pos|move x y|click [left|right]|scroll N] mouse control
ps / kill <name|pid> process list / terminate
focus <title> / close <title> window manager
ls [path] / pwd / cd <path> / download <path> file browsing & upload
wifi / ip Wi-Fi info / local & public IP
copy <text> / paste clipboard
cmd <command> / ps1 <command> run shell or PowerShell
launch <program> / url <link> open programs / URLs
/macro <name> / /save_macro / /list_macros / /delete_macro macros
/about public info + GitHub link
/release_keys safety: release Alt / Ctrl / Shift / Win
/help full reference inside the bot

Architecture

The codebase follows Feature-Sliced Design (FSD) adapted for a Python Telegram bot. Three layers, strict dependency direction features โ†’ core โ†’ shared. Each feature is a self-contained folder; the composition root iterates ALL_FEATURES and calls feature.register(app) on each.

project/
โ”œโ”€โ”€ main.py                        # entry point
โ”œโ”€โ”€ run_bot.bat
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ composition.py             # build_app() โ€” wires every feature into the Application
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ shared/                    # zero-domain utilities
โ”‚   โ”‚   โ”œโ”€โ”€ atomic_json.py
โ”‚   โ”‚   โ”œโ”€โ”€ logging.py
โ”‚   โ”‚   โ””โ”€โ”€ telegram_utils.py
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ core/                      # bot-wide concerns (depends only on shared/)
โ”‚   โ”‚   โ”œโ”€โ”€ config.py              # CONFIG, ROOT, DATA_DIR, LOG_DIR
โ”‚   โ”‚   โ”œโ”€โ”€ security.py            # owner check, rate limiter, intruder log
โ”‚   โ”‚   โ”œโ”€โ”€ auth.py                # @owner_only decorator + alert_intruder
โ”‚   โ”‚   โ”œโ”€โ”€ messages.py            # WELCOME, INTRUDER (12 langs), ABOUT, HELP
โ”‚   โ”‚   โ”œโ”€โ”€ menu.py                # main reply keyboard + label constants
โ”‚   โ”‚   โ”œโ”€โ”€ router.py              # chain-of-responsibility text dispatcher
โ”‚   โ”‚   โ”œโ”€โ”€ errors.py              # global error handler
โ”‚   โ”‚   โ””โ”€โ”€ types.py               # TextResult dataclass
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ features/                  # one folder per feature
โ”‚       โ”œโ”€โ”€ start_help/            # /start, /help, /about, /release_keys
โ”‚       โ”œโ”€โ”€ keys/                  # โŒจ๏ธ Keys, โŒจ๏ธ Builder, k <combo>, type
โ”‚       โ”œโ”€โ”€ macros/
โ”‚       โ”œโ”€โ”€ switcher/              # ๐Ÿ”€ interactive Alt+Tab
โ”‚       โ”œโ”€โ”€ system/                # ๐Ÿ“Š info + ๐Ÿ”‹ power
โ”‚       โ”œโ”€โ”€ audio/                 # ๐Ÿ”Š volume, mute
โ”‚       โ”œโ”€โ”€ brightness/            # ๐Ÿ’ก via PowerShell + WMI
โ”‚       โ”œโ”€โ”€ screen/                # ๐Ÿ“ธ + ๐ŸŽฅ
โ”‚       โ”œโ”€โ”€ webcam/                # ๐Ÿ“ท
โ”‚       โ”œโ”€โ”€ mouse/                 # cursor / click / scroll
โ”‚       โ”œโ”€โ”€ windows_proc/          # ๐ŸชŸ windows + ๐Ÿ“„ processes
โ”‚       โ”œโ”€โ”€ files/                 # ๐Ÿ“‚ + download
โ”‚       โ”œโ”€โ”€ clipboard/             # โœ‚
โ”‚       โ”œโ”€โ”€ network/               # ๐Ÿ“ก / ๐ŸŽง / ๐Ÿ“ถ / ip
โ”‚       โ”œโ”€โ”€ shell/                 # cmd / ps1 / launch / url
โ”‚       โ””โ”€โ”€ media/                 # ๐ŸŽฆ VLC + ๐ŸŽฌ Netflix
โ”‚
โ”œโ”€โ”€ data/                          # persistent JSON state (atomic writes)
โ”‚   โ”œโ”€โ”€ key_builder_state.json
โ”‚   โ””โ”€โ”€ macros.json
โ”œโ”€โ”€ logs/                          # rotating bot.log
โ””โ”€โ”€ intruders.json                 # log of unauthorized attempts

Each feature folder contains:

File Role
service.py Pure logic. No Telegram imports.
ui.py (optional) Inline keyboard builders for this feature.
handlers.py Telegram glue. Exposes register(app) and match_text(text, chat_id) โ†’ TextResult | None.
__init__.py Re-exports register, match_text, and any helpers other features need (e.g. keys.send_combos is consumed by macros).

Why FSD?

  • Each feature is a plug-in โ€” adding or removing one means touching one folder and one line in app/features/__init__.py.
  • No god-files: there is no central handlers.py or ui.py. Inline keyboards live next to the logic that uses them.
  • The text dispatcher is a chain of responsibility โ€” core/router.py walks ALL_FEATURES in order and asks each match_text(text, chat_id). The first non-None reply wins. Heavy/stateful features (screenshot, recording, webcam, switcher) skip the chain and register their own MessageHandler so they can stream binary uploads.
  • Callbacks are namespaced per feature (vlc:, nfx:, kb:, sw:, vol:, bright:, power:, net:) and routed via CallbackQueryHandler(pattern=r"^ns:") โ€” no central callback dispatcher.

Security

  • Owner gate. Every handler is wrapped by @owner_only (or its inline equivalent). Authorisation = (numeric chat_id โˆˆ {OWNER_CHAT_ID} โˆช EXTRA_OWNER_CHAT_IDS) or (username โˆˆ {OWNER_USERNAME} โˆช EXTRA_OWNER_USERNAMES).
  • Multilingual intruder response. Strangers receive ๐Ÿšจ Only the owner can use this bot. Your activity has been logged. translated into English, Hindi, Russian, Spanish, Chinese, Arabic, French, German, Portuguese, Japanese, Turkish, and Hebrew, plus a link back to this repo.
  • Intrusion log. intruders.json accumulates {user_id โ†’ first_attempt, last_attempt, attempts, name, username}. Writes are atomic (temp file + os.replace) with a single rotating .bak.
  • Per-chat rate limit. A sliding 60-second window allows at most RATE_LIMIT_PER_MINUTE messages from any single chat (default 60). Excess gets โฑ Slow down โ€” rate limit hit..
  • Forwarded evidence. When an unknown user without a username messages the bot, their original message is forwarded to the owner so it can be inspected.

โš ๏ธ Network exposure. This bot polls Telegram โ€” no incoming ports are opened on your PC. But anyone who learns your BOT_TOKEN can impersonate the bot, so keep .env out of version control.

Auto-start on boot (Windows Task Scheduler)

Build a one-file .exe (see next section), then register it to launch at user logon:

SCHTASKS /CREATE /SC ONLOGON `
  /TN "Telegram-Windows-Command-Bot" `
  /TR '"C:\path\to\Telegram windows command bot.exe"' `
  /RL HIGHEST

Or run the script form directly via a .bat shortcut placed in shell:startup.

Building a standalone .exe

.\venv\Scripts\Activate.ps1
pip install pyinstaller

pyinstaller --onefile -w -i "bot.png" `
  --paths "venv\Lib\site-packages" `
  main.py

# clean up
Move-Item .\dist\main.exe ".\Telegram windows command bot.exe" -Force
Remove-Item -Recurse -Force .\build, .\dist
Remove-Item .\main.spec

The single .exe will still need .env and the data/ and logs/ folders next to it (they are created on first run).


ืžื™ื“ืข ื‘ืกื™ืกื™ ื‘ืขื‘ืจื™ืช ๐Ÿ‡ฎ๐Ÿ‡ฑ

ื‘ื•ื˜ ื˜ืœื’ืจื ืฉืฉื•ืœื˜ ืขืœ ืžื—ืฉื‘ Windows ืžืจื—ื•ืง.

ืžื” ื–ื”? ืฉื•ืœื—ื™ื ื”ื•ื“ืขื•ืช ืœื‘ื•ื˜ ื‘ื˜ืœื’ืจื โ€” ื•ื”ืžื—ืฉื‘ ืžื‘ืฆืข ืืช ื”ืคืงื•ื“ื•ืช. ืฉื™ืœื•ื‘ ืžืงืฉื™ื ื›ืœืฉื”ื•, ืฆื™ืœื•ืžื™ ืžืกืš, ื ืขื™ืœื” / ืฉื™ื ื” / ื›ื™ื‘ื•ื™, ืฉืœื™ื˜ื” ื‘ึพVLC ื•ื‘ื ื˜ืคืœื™ืงืก, ืงืจื™ืืช ืคืจื•ืฆืกื™ื, ื’ืœื™ืฉื” ื‘ืงื‘ืฆื™ื, ื”ืงืœื˜ืช ืžืกืš ื•ืขื•ื“.

ื”ืคื™ืฆ'ืจ ื”ืžืจื›ื–ื™ โ€” ืฉื™ืœื•ื‘ื™ ืžืงืฉื™ื ื’ืžื™ืฉื™ื ืืคืฉืจ ืœืฉืœื•ื— ื›ืœ ืงื•ืžื‘ื™ื ืฆื™ื”: k ctrl+alt+del, k win+shift+s, k alt+f4. ืื ืœื ื–ื•ื›ืจื™ื ืืช ื”ืชื—ื‘ื™ืจ โ€” ืœื•ื—ืฆื™ื ืขืœ โŒจ๏ธ Builder ื•ื‘ื•ื ื™ื ืืช ื”ืงื•ืžื‘ื™ื ืฆื™ื” ื‘ืœื—ื™ืฆื•ืช (ื™ืฉ Ctrl/Shift/Alt/Win ืœืฉื ื™ ื”ืฆื“ื“ื™ื, ื™ืžื™ืŸ ื•ืฉืžืืœ). ืืคืฉืจ ื’ื ืœืฉืžื•ืจ macros ืขื ืฉื:

/save_macro snip win+shift+s
/macro snip

ืžืชื’ ื—ืœื•ื ื•ืช ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ ๐Ÿ”€ ื›ืคืชื•ืจ Switcher ืžื“ืžื” ืœื—ื™ืฆื” ืืจื•ื›ื” ืขืœ Alt+Tab โ€” ื”ื‘ื•ื˜ ืžื—ื–ื™ืง ืืช Alt ืœื—ื•ืฅ, ืืชื” ืœื•ื—ืฅ Tab+1 ืื• Tab+5 ื‘ื˜ืœื’ืจื, ืžืงื‘ืœ ืฆื™ืœื•ื ืžืกืš ืžืขื•ื“ื›ืŸ ืฉืœ ืžืชื’ ื”ื—ืœื•ื ื•ืช, ื•ื‘ื•ื—ืจ โœ… Commit ืœื”ื—ืœื™ืฃ ืœื—ืœื•ืŸ ื”ืžืกื•ืžืŸ.

ื”ืงืžื” ืžื”ื™ืจื”

  1. ื”ื•ืจื“ ืืช ื”ืงื•ื“ ืžื”ืจื™ืคื•.
  2. ืฆื•ืจ ืกื‘ื™ื‘ื” ื•ื™ืจื˜ื•ืืœื™ืช ืขื Python 3.12 ื•ื”ืชืงืŸ ืืช requirements.txt.
  3. ื”ื•ืฆื ื˜ื•ืงืŸ ื‘ื•ื˜ ืžึพ@BotFather, ืžืฆื ืืช ื”ึพChat ID ืฉืœืš ืืฆืœ @userinfobot.
  4. ื”ืขืชืง ืืช .env.example ืœึพ.env ื•ืžืœื BOT_TOKEN, OWNER_CHAT_ID, OWNER_USERNAME.
  5. ื”ืคืขืœ ืขื python main.py ืื• run_bot.bat.

ืื‘ื˜ื—ื” ืจืง ื”ืžืฉืชืžืฉ ืฉืžื•ื’ื“ืจ ื‘ืงื•ื‘ืฅ .env ื™ื›ื•ืœ ืœืฉืœื•ื— ืคืงื•ื“ื•ืช. ื›ืœ ื ื™ืกื™ื•ืŸ ืฉืœ ืžื™ืฉื”ื• ืื—ืจ ื ืจืฉื ืœึพintruders.json ื•ืžื•ืขื‘ืจ ืืœื™ืš ื›ื”ืชืจืื”. ื”ื–ืจื™ื ืžืงื‘ืœื™ื ืชื’ื•ื‘ื” ืื“ื™ื‘ื” ื‘ึพ12 ืฉืคื•ืช ืขื ืงื™ืฉื•ืจ ืœืคืจื•ื™ืงื˜ ื”ืคืชื•ื— ืฉืœืš.

ื”ืคืขืœื” ืื•ื˜ื•ืžื˜ื™ืช ืขื ื”ื“ืœืงืช ื”ืžื—ืฉื‘ ืจืื” ืืช ื”ืกืขื™ืฃ Auto-start on boot ืœืžืขืœื”.


Contributing

Issues and pull requests welcome. The Feature-Sliced layout makes it easy to add a new feature:

  1. mkdir app/features/<your_feature>/
  2. Create service.py, handlers.py, optionally ui.py, and an __init__.py that re-exports register and match_text.
  3. Add the module to app/features/__init__.py and to the ALL_FEATURES list.
  4. That's it โ€” your feature will be wired in automatically on next launch.

Please never commit .env, intruders.json, data/key_builder_state.json, or logs/.

License

This repository is currently published without an explicit license, which means all rights are reserved by default. If you want to use the code in your own project, open an issue and the maintainer will gladly discuss adding a permissive license (MIT is recommended for a project of this scope).


Built with โค๏ธ in Israel ยท powered by python-telegram-bot ยท pyautogui ยท pycaw ยท mss.

About

Record & Replay Feature for Telegram-windows-command-bot

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 99.9%
  • Batchfile 0.1%