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

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.1.tar.gz (63.6 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.1-py3-none-any.whl (74.7 kB view details)

Uploaded Python 3

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

Hashes for pyvuebot-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c5a7536368c691ac799da2a1f060c202ff287e1bbef3b7ffc3e0c0af9a9a7e96
MD5 c21e78c4ca4ab578f9beaa6ce0fa6852
BLAKE2b-256 4a2c1b3295303b5775d8e36259316fb9766ac06d9b727c8a1405688e6349ce6c

See more details on using hashes here.

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

Hashes for pyvuebot-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 49e55f672267cb92bf048f67fc63ee44a33d6fa908a3bb448fa206a28e635305
MD5 aa3d5dc2f3e638f1cdb2bd2b3fccb93a
BLAKE2b-256 487bae4b846764d50488c916c472499247dafa7d91160a2094454ddb20a2c09c

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