Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Vue.js
  3. vue-tg

vue-tg

MITTypeScript0.10.0

A lightweight Vue.js library for seamless integration of Telegram Mini Apps and Widgets with type safety and reactivity.

Visit WebsiteGitHubGitHub
277 stars17 forks0 contributors

What is vue-tg?

vue-tg is a Vue.js library that enables developers to build Telegram Mini Apps and integrate Telegram Widgets into their Vue applications. It provides a set of composables, components, and utilities to interact with the Telegram Bot API, handling features like viewport management, buttons, popups, and device APIs. It solves the problem of manually integrating and managing the Telegram Web App script and its event-driven API within a reactive Vue context.

Target Audience

Vue.js developers building interactive applications (Mini Apps) to run within the Telegram messenger, or web developers needing to embed Telegram widgets (login, share, posts) into their Vue-based sites.

Value Proposition

Developers choose vue-tg for its first-class Vue integration, offering reactive state management, type safety with runtime version checks, and a modern async/await API that simplifies working with Telegram's callback-based methods, significantly improving developer experience and code maintainability.

Overview

Telegram integration for Vue

Use Cases

Best For

  • Building interactive games or utilities as Telegram Mini Apps
  • Creating Vue-based admin panels or dashboards for Telegram bots
  • Adding Telegram Login or Share widgets to a Vue.js website
  • Developing data collection or payment forms inside Telegram
  • Prototyping quick interactive experiences for Telegram channels
  • Integrating Telegram's device APIs (camera, location, storage) into a Vue app

Not Ideal For

  • Projects targeting multiple platforms beyond Telegram (e.g., web, mobile apps) where platform-specific code is undesirable
  • Teams using React, Svelte, or other non-Vue frameworks who need Telegram integration
  • Applications requiring heavy server-side rendering with minimal client-side JavaScript, as vue-tg depends on Telegram's client-side script
  • Developers building simple embeddable widgets without the need for Vue's reactivity or comprehensive Mini App features

Pros & Cons

Pros

Type Safety with Runtime Checks

Enforces runtime feature support checks to prevent errors on clients with outdated Bot API versions, as shown in the README's deviceStorage example, with optional version requirement configuration.

Seamless Vue Reactivity

Exposes Telegram client state like isActive as reactive Vue refs, enabling direct use with watch and computed properties, which integrates naturally with Vue's ecosystem.

Modern Async API

Provides async/await interfaces for methods like showing popups and scanning QR codes, reducing callback nesting and improving code readability, as demonstrated in the README's comparison.

Comprehensive Component Library

Offers Vue components for common UI elements such as MainButton, BackButton, and Popup, mirroring Telegram's native components and simplifying UI development.

Cons

Telegram Platform Lock-in

Tightly coupled to Telegram's Bot API and Mini App environment; changes in Telegram's API could break functionality, and it's unusable outside Telegram, limiting portability.

Manual Script Setup Required

Requires manually adding Telegram's web-app script in the HTML head before other scripts, which can be cumbersome in modern build tools or SSR setups like Nuxt.

Limited Framework Support

Exclusively designed for Vue.js, so developers using other frameworks must find alternatives or build custom integrations, reducing flexibility for mixed tech stacks.

Frequently Asked Questions

Quick Stats

Stars277
Forks17
Contributors0
Open Issues16
Last commit4 months ago
CreatedSince 2023

Tags

#type-safety#vue-composition-api#reactive-programming#vue3#telegram#web-apps#vue-components#bot-api#vue#telegram-bot#telegram-bots#vue-composable

Built With

V
Vue.js
T
TypeScript

Links & Resources

Website

Included in

Vue.js73.6k
Auto-fetched 6 hours ago

Related Projects

VueFireVueFire

🔥 Firebase bindings for Vue.js

Stars3,909
Forks338
Last commit3 months ago
vue-recaptchavue-recaptcha

Google ReCAPTCHA component for Vue.js

Stars898
Forks139
Last commit16 hours ago
vue-postgrestvue-postgrest

PostgREST integration for Vue.js

Stars91
Forks8
Last commit3 days ago
vue-tweetvue-tweet

Vue 3 component that let you embed tweets in your App by only giving the tweet id

Stars45
Forks4
Last commit10 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub