ultra-telegram-framework
    Preparing search index...

    ultra-telegram-framework

    🚀 Ultra Telegram Framework (UTF)

    Bot API 10.0 TypeScript Google Apps Script Documentation MIT License Interactive Demo

    Ultra Telegram Framework (UTF) is a modern, lightweight, and strongly typed Telegram Bot API framework built for TypeScript.

    Designed with flexibility in mind, UTF features a unique adapter-based architecture that allows your bot to run seamlessly across various environments — from classic Node.js servers to Serverless Edge functions and Google Apps Script — without rewriting your core logic.


    • 🌍 Write Once, Run Anywhere: Deploy to Node.js, Cloudflare Workers, Vercel Edge, Bun, or Google Apps Script just by swapping the API client.
    • 🎭 Batteries Included: Sessions, Wizard Scenes, and Declarative Inline Menus are built directly into the core. No external plugins needed.
    • 🤖 AI-Ready: Built-in streaming support (ctx.replyWithDraft()) with auto-debouncing for LLM integrations.
    • 🛡️ 100% Type-Safe: Exhaustive TypeScript coverage for the entire Telegram Bot API 10.0. Rich IDE autocompletion out of the box.
    • ☁️ Zero-Config GAS: Automatically bundle and deploy to Google Apps Script with our built-in utf-build CLI tool. No manual webhook boilerplate needed.

    npm install ultra-telegram-framework
    

    Here is a basic example using the Node.js adapter with long polling. The syntax is designed to be instantly familiar if you have used other popular frameworks.

    import { TelegramBot, NodeApiClient } from 'ultra-telegram-framework';

    const token = process.env.BOT_TOKEN;
    if (!token) throw new Error('BOT_TOKEN is missing!');

    // 1. Initialize with the Node adapter
    const bot = new TelegramBot(new NodeApiClient(token));

    // 2. Setup handlers
    bot.command('start', async (ctx) => {
    await ctx.reply('Hello! I am an Ultra Telegram Framework bot 🚀');
    });

    bot.on('text', async (ctx) => {
    // 100% type-safe: ctx.text is guaranteed to exist here
    await ctx.reply(`You said: ${ctx.text}`);
    });

    // 3. Launch
    bot.launch().then(() => console.log('🚀 Bot is running...'));

    Write your bot logic once and deploy to GAS without any boilerplate.

    import { TelegramBot, GasApiClient } from 'ultra-telegram-framework';

    // GasApiClient automatically finds your BOT_TOKEN in Script Properties!
    const bot = new TelegramBot(new GasApiClient());

    bot.command('start', (ctx) => ctx.reply('Hello from GAS! ☁️'));

    Build and deploy with one command:

    npx utf-build src/index.ts
    clasp push

    👉 Read the Full Documentation in our Wiki

    To keep this README clean, all detailed guides, tutorials, and advanced concepts are documented in our GitHub Wiki. There you will find:


    This project is licensed under the MIT License — see the LICENSE file for details.

    If this framework helped you save time, bypass GAS limitations, or build something awesome, consider supporting its development!

    💳 Support the project (Monobank)