tg-error-reporter
v1.0.5
Published
Universal Telegram error reporter for Node.js and browser
Maintainers
Readme
tg-error-reporter 🚨
Universal Telegram error reporting library for Node.js and Browser environments.
Supports:
- Express
- Fastify
- React
- Next.js
- JavaScript & TypeScript
Installation
npm install tg-error-reporter
Basic Usage
const Tg = require('tg-error-reporter');
Tg.init({ token: 'YOUR_TOKEN', chatId: 'YOUR_CHAT_ID', project: 'MyApp', env: 'production' });
Tg.capture(new Error("Test error"));
Express
app.use(Tg.express());
Fastify
fastify.register(Tg.fastify);
React
Tg.react();
Notes
- Do NOT expose token in frontend
- Use backend proxy for production
License
MIT © Soundar
tg-error-reporter 🚨
Universal Telegram error reporting library for Node.js and Browser environments.
Supports:
- Express
- Fastify
- React
- Next.js
- JavaScript & TypeScript
- External platforms (Flutter, mobile, backend services via API)
✨ Features
- 📩 Instant Telegram alerts
- 🌐 Works in backend + browser + external platforms
- ⚡ Auto error capture (Express, Fastify, React, Node)
- 🔁 Retry mechanism
- 🚫 Deduplication (prevents spam)
- 🌍 Universal API ingestion (Flutter, etc.)
- 🛡️ Safe HTML formatting
📦 Installation
npm install tg-error-reporter⚙️ Basic Usage
const Tg = require('tg-error-reporter');
Tg.init({
token: 'YOUR_TELEGRAM_BOT_TOKEN',
chatId: 'YOUR_CHAT_ID',
project: 'MyApp',
env: 'production'
});
Tg.capture(new Error("Test error"));🚀 Usage
🟢 Manual Capture
Tg.capture(new Error("Something went wrong"));🟢 Express
app.use(Tg.express());🟢 Fastify
fastify.register(Tg.fastify);🟢 React / Browser
import Tg from 'tg-error-reporter';
Tg.init({...});
Tg.react();🟢 Universal API (Flutter / Mobile / Any Language)
Setup API route
app.post('/report-error', Tg.expressIngest());Example request
curl -X POST http://localhost:3000/report-error \
-H "Content-Type: application/json" \
-d '{
"message": "Flutter error",
"stack": "stack trace",
"platform": "flutter",
"user": {"id": "123"},
"meta": {"version": "1.0.0"}
}'🔐 Security Note
❌ Do NOT expose your Telegram bot token in frontend apps.
✅ Recommended architecture:
Frontend / Flutter → Backend API → tg-error-reporter → Telegram🧾 TypeScript Support
Fully supported out of the box.
import Tg from 'tg-error-reporter';
Tg.init({
token: '',
chatId: ''
});⚙️ Config Options
| Option | Type | Required | Description | |----------|--------|----------|------------| | token | string | ✅ | Telegram Bot Token | | chatId | string | ✅ | Chat / Group ID | | project | string | ❌ | Project name | | env | string | ❌ | Environment | | service | string | ❌ | Service name |
📤 What gets sent to Telegram
- Project & environment
- Error message
- Stack trace
- Platform (express / fastify / react / external)
- Optional user & meta info
🚧 Roadmap
- [ ] Error grouping
- [ ] Async queue
- [ ] Rate limiting improvements
- [ ] Dashboard (future)
📜 License
MIT © Soundar
