CLI tool for Telegram Mini Apps
Project description
PyVueBot
A modern CLI tool for creating and managing Telegram Mini Apps with Vue.js and FastAPI.
Overview
PyVueBot streamlines the development of Telegram Mini Apps by providing:
- Project scaffolding from templates with variable substitution
- Interactive setup wizard for easy configuration
- Development server with hot reloading
- Production builds and deployment
- Integrated Telegram webhook management
- Vercel deployment support
Installation
pip install pyvuebot
Quick Start
- Create a new project:
pyvuebot init my-telegram-app
- Install dependencies:
cd my-telegram-app
pyvuebot install
- Start development:
pyvuebot dev
- Configure your webhook:
pyvuebot webhook set
- Build and deploy:
pyvuebot build
pyvuebot deploy
Command Reference
Project Management
-
pyvuebot init [NAME]- Create a new project--template- Specify a template (default: task_manager)--description- Project description--yes, -y- Skip interactive prompts and use defaults--force, -f- Override existing directory
-
pyvuebot install- Install dependencies -
pyvuebot dev- Start development servers -
pyvuebot build- Build for production -
pyvuebot deploy- Deploy to Vercel
Webhook Management
-
pyvuebot webhook set- Set up a Telegram bot webhook--token- Telegram bot token--url- Web app URL--path- Custom webhook path
-
pyvuebot webhook info- Check webhook status--token- Telegram bot token
-
pyvuebot webhook delete- Delete webhook--token- Telegram bot token--drop-pending- Drop pending updates
Templates
Currently available templates:
task_manager- Full-stack task management app (default)- More coming soon...
Project Structure
my-telegram-app/
├── api/ # FastAPI backend
│ ├── routes/ # API endpoints
│ ├── models.py # Data models
│ └── db.py # Database setup
├── src/ # Vue.js frontend
│ ├── components/ # Vue components
│ ├── services/ # API services
│ └── store/ # State management
├── index.html # HTML entry point
├── package.json # Node dependencies
├── requirements.txt # Python dependencies
├── .env # Environment variables
├── .env.example # Environment variables template
├── vercel.json # Vercel configuration
└── pyvuebot.json # Project configuration
Configuration
The pyvuebot.json file contains project configuration:
{
"name": "my-telegram-app",
"template": "task_manager",
"description": "My Telegram Mini App",
"version": "0.1.0",
"created_at": "2023-03-31T01:53:14.539642"
}
Dynamic Template Variables
Templates can use variables in the format {{ variable_name }} which will be replaced during project creation:
{{ project_name }}- Project name{{ project_description }}- Project description{{ creation_date }}- Creation date (YYYY-MM-DD){{ creation_year }}- Creation year{{ template_name }}- Template name
Environment Variables
Required environment variables:
TELEGRAM_BOT_TOKEN- Your Telegram bot tokenWEB_APP_URL- URL where your app is deployedSUPABASE_URL- Supabase project URL (if using Supabase)SUPABASE_KEY- Supabase project key (if using Supabase)VITE_TELEGRAM_BOT_LINK- Link to your Telegram bot
Development
To contribute to PyVueBot:
- Clone the repository:
git clone https://github.com/venopyx/pyvuebot.git
cd pyvuebot
- Install dependencies:
poetry install
- Create a new branch:
git checkout -b feature/your-feature
- Make your changes and submit a pull request
License
MIT License - see LICENSE for details
Author
- Gemechis Chala (@venopyx)
- Email: venopyx@gmail.com
Support
- GitHub Issues: Report bugs
- Twitter: @venopyx
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 pyvuebot-0.2.1.tar.gz.
File metadata
- Download URL: pyvuebot-0.2.1.tar.gz
- Upload date:
- Size: 63.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.2 Linux/6.12.13-amd64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5a7536368c691ac799da2a1f060c202ff287e1bbef3b7ffc3e0c0af9a9a7e96
|
|
| MD5 |
c21e78c4ca4ab578f9beaa6ce0fa6852
|
|
| BLAKE2b-256 |
4a2c1b3295303b5775d8e36259316fb9766ac06d9b727c8a1405688e6349ce6c
|
File details
Details for the file pyvuebot-0.2.1-py3-none-any.whl.
File metadata
- Download URL: pyvuebot-0.2.1-py3-none-any.whl
- Upload date:
- Size: 74.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.2 Linux/6.12.13-amd64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49e55f672267cb92bf048f67fc63ee44a33d6fa908a3bb448fa206a28e635305
|
|
| MD5 |
aa3d5dc2f3e638f1cdb2bd2b3fccb93a
|
|
| BLAKE2b-256 |
487bae4b846764d50488c916c472499247dafa7d91160a2094454ddb20a2c09c
|