YAML-driven Telegram Bot orchestration engine for automated interactions
Project description
musigate
English
musigate is a Python CLI for searching and downloading music through Telegram bots with a YAML-driven adapter system.
This release is an alpha build. The core CLI flow is working, but bot behavior still depends on upstream Telegram bots and may change over time.
Install
From a published package:
pip install musigate
From a local wheel:
pip install dist/musigate-0.1.0a2-py3-none-any.whl
For development:
pip install -e .[dev]
Setup
Copy .env.example to .env, then fill in your Telegram API credentials:
cp .env.example .env
Required values:
TELEGRAM_API_IDTELEGRAM_API_HASH
Built-in Bots
music163music_v1
Agent Skills
The repository now includes a local skills directory for agent ecosystems such as Codex or OpenClaw.
Current skills:
Usage
Login to Telegram:
musigate login
Search only:
musigate search "Numb" --bot music163
Download with smart matching:
musigate download "Numb" --bot music163
Download a specific numbered search result:
musigate download "海底" --bot music_v1 --pick 2
Write files to a custom directory:
musigate download "海底" --bot music_v1 --pick 2 --output ./downloads/favorites
Machine-readable JSON output:
musigate search "Numb" --bot music163 --json
musigate download "Numb" --bot music163 --json
musigate list-bots --json
Normal CLI downloads show periodic progress updates including speed and ETA.
中文
musigate 是一个 Python 命令行工具,用来通过 Telegram 机器人搜索和下载音乐,核心采用 YAML 驱动的适配器架构。
当前版本是 alpha 初版。CLI 主流程已经可用,但具体机器人的行为仍依赖上游 Telegram 机器人,后续可能会变化。
安装
从已发布的包安装:
pip install musigate
从本地 wheel 安装:
pip install dist/musigate-0.1.0a2-py3-none-any.whl
开发模式安装:
pip install -e .[dev]
配置
把 .env.example 复制为 .env,然后填入你的 Telegram API 凭据:
cp .env.example .env
必填项:
TELEGRAM_API_IDTELEGRAM_API_HASH
内置 Bot
music163music_v1
智能体 Skills
仓库根目录新增了一个本地 skills 目录,方便 Codex、OpenClaw 这类智能体快速接入。
当前提供:
使用方式
登录 Telegram:
musigate login
仅搜索,不下载:
musigate search "Numb" --bot music163
按智能匹配下载:
musigate download "Numb" --bot music163
按搜索结果编号精确下载:
musigate download "海底" --bot music_v1 --pick 2
下载到自定义目录:
musigate download "海底" --bot music_v1 --pick 2 --output ./downloads/favorites
输出机器可读 JSON:
musigate search "Numb" --bot music163 --json
musigate download "Numb" --bot music163 --json
musigate list-bots --json
普通 CLI 下载模式会定期显示进度、速度和预计剩余时间。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file musigate-0.1.0a2.tar.gz.
File metadata
- Download URL: musigate-0.1.0a2.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4dd72fc5945a83c3822442f6ff652adf0379d5d462fdbc4bd3f6feeddb1e3a0
|
|
| MD5 |
658d22cc0dc4b30e782bf36b4f785427
|
|
| BLAKE2b-256 |
6c95db6eaae1f23c720a8a138f767716d5c0449ac8c0f2267a9d41a4698587a2
|
File details
Details for the file musigate-0.1.0a2-py3-none-any.whl.
File metadata
- Download URL: musigate-0.1.0a2-py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27bef8f52cccd86dd50dbf2e51a09227c0075c410ab6b7a6c087f1033cc34f58
|
|
| MD5 |
88b449f995dc37250c605de38f1bda9f
|
|
| BLAKE2b-256 |
b88dd7fc01671b0a6c11e77fc351cec746f2fec5d0cfda316682398353e61694
|