Skip to main content

CLI tool for Telegram Mini Apps

Project description

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

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

pyvuebot-0.2.2.tar.gz (64.0 kB view details)

Uploaded Source

Built Distribution

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

pyvuebot-0.2.2-py3-none-any.whl (74.9 kB view details)

Uploaded Python 3

File details

Details for the file pyvuebot-0.2.2.tar.gz.

File metadata

  • Download URL: pyvuebot-0.2.2.tar.gz
  • Upload date:
  • Size: 64.0 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

Hashes for pyvuebot-0.2.2.tar.gz
Algorithm Hash digest
SHA256 19b3363954479ee9b94c2f0e950175dad37a0af7bc5d1d67455ebcc23d04d96f
MD5 0944cd0a2aa92fee5de4ab4ad9cd9177
BLAKE2b-256 37a791fe5631aaab379d070f1a9da1899d2cce276ab7346f75c78568f1331ca2

See more details on using hashes here.

File details

Details for the file pyvuebot-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: pyvuebot-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 74.9 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

Hashes for pyvuebot-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d7f52d79975f28a97049b78c093cdd5641321aa1da199dfcfcf562bd0c2ad5de
MD5 7e7bf93a036e07d6d4e4efaeab13bde6
BLAKE2b-256 17bc7c83ce3e7e63e07da7f76565e997c86edba7893fb05e6474fdacbe1d9b31

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