Skip to main content

PyVueBot

PyVueBot Logo

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

  1. Create a new project:
pyvuebot init my-telegram-app
  1. Install dependencies:
cd my-telegram-app
pyvuebot install
  1. Start development:
pyvuebot dev
  1. Configure your webhook:
pyvuebot webhook set
  1. 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 token
  • WEB_APP_URL - URL where your app is deployed
  • SUPABASE_URL - Supabase project URL (if using Supabase)
  • SUPABASE_KEY - Supabase project key (if using Supabase)
  • VITE_TELEGRAM_BOT_LINK - Link to your Telegram bot

Star the Repository

If you find PyVueBot useful, please consider giving it a star on GitHub! Your support helps the project grow.

GitHub Repo stars

# Or clone and star through GitHub CLI
gh repo clone venopyx/pyvuebot
gh repo star venopyx/pyvuebot

Development

To contribute to PyVueBot:

  1. Clone the repository:
git clone https://github.com/venopyx/pyvuebot.git
cd pyvuebot
  1. Install dependencies:
poetry install
  1. Create a new branch:
git checkout -b feature/your-feature
  1. Make your changes and submit a pull request

License

MIT License - see LICENSE for details

Author

Support

Metadata

Release files for pyvuebot 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyvuebot 0.2.2
File Size Uploaded Provenance Actions
pyvuebot-0.2.2.tar.gz 64.0 kB Without provenance Details for pyvuebot-0.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pyvuebot 0.2.2
File Interpreter ABI Platform Actions
pyvuebot-0.2.2-py3-none-any.whl Python 3 none any Details for pyvuebot-0.2.2-py3-none-any.whl

Total release size: 138.9 kB

Release files / pyvuebot-0.2.2.tar.gz

Download URL pyvuebot-0.2.2.tar.gz
Size 64.0 kB
Tags Source
SHA-256 checksum
How to use checksums
19b3363954479ee9b94c2f0e950175dad37a0af7bc5d1d67455ebcc23d04d96f
BLAKE2b-256 checksum
How to use checksums
37a791fe5631aaab379d070f1a9da1899d2cce276ab7346f75c78568f1331ca2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.13.2 Linux/6.12.13-amd64

Release files / pyvuebot-0.2.2-py3-none-any.whl

Download URL pyvuebot-0.2.2-py3-none-any.whl
Size 74.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d7f52d79975f28a97049b78c093cdd5641321aa1da199dfcfcf562bd0c2ad5de
BLAKE2b-256 checksum
How to use checksums
17bc7c83ce3e7e63e07da7f76565e997c86edba7893fb05e6474fdacbe1d9b31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.13.2 Linux/6.12.13-amd64

Security for pyvuebot 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page