0.1.1 • Published 11 months ago

@monkhai/telelogger v0.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

@monkhai/telelogger

A lightweight, easy-to-use Telegram logging utility for Node.js applications.

Features

  • Simple integration with Telegram Bot API
  • Multiple log levels (info, error, success, warn)
  • Customizable message formatters
  • TypeScript support
  • Zero dependencies

Installation

Choose your preferred package manager:

# npm
npm install @monkhai/telelogger

# yarn
yarn add @monkhai/telelogger

# pnpm
pnpm add @monkhai/telelogger

# bun
bun add @monkhai/telelogger

Quick Start

import { TelegramLogger } from '@monkhai/telelogger'

const logger = new TelegramLogger({
  botToken: 'YOUR_BOT_TOKEN',
  chatId: YOUR_CHAT_ID,
})

// Basic logging
logger.logInfo('Hello, world!')
logger.logError('Something went wrong!')
logger.logSuccess('Operation completed successfully!')
logger.logWarn('Warning: Resource running low')

Configuration

The TelegramLogger constructor accepts a configuration object with the following options:

export interface TelegramLoggerConfig {
  /** Your Telegram Bot Token */
  botToken: string

  /** Target Chat ID where messages will be sent */
  chatId: number

  /** The formatting of the message. */
  parse_mode?: 'HTML' | 'Markdown' | 'MarkdownV2'

  /** Custom formatter for info messages */
  infoFormatter?: (message: string) => string

  /** Custom formatter for error messages */
  errorFormatter?: (message: string) => string

  /** Custom formatter for success messages */
  successFormatter?: (message: string) => string

  /** Custom formatter for warning messages */
  warnFormatter?: (message: string) => string
}

Custom Formatters Example

You can customize how messages are formatted before they're sent to Telegram: notice the <b> tags in the formatters, adding bold text to the titles. This allows you to add more information to the messages, such as links, bold text, etc. for more information on the different parse modes, see the Telegram API documentation.

const logger = new TelegramLogger({
  botToken: 'YOUR_BOT_TOKEN',
  chatId: 'YOUR_CHAT_ID',
  parse_mode: 'HTML', // allows us to add <b> tags and more
  infoFormatter: message => `ℹ️ <b>INFO:</b>\n${message}`,
  errorFormatter: message => `❌ <b>ERROR:</b>\n${message}`,
  successFormatter: message => `✅ <b>SUCCESS:</b>\n${message}`,
  warnFormatter: message => `🚨️ <b>WARNING:</b>\n${message}`,
})

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

0.1.1

11 months ago

0.1.0

11 months ago

0.0.1

11 months ago

1.0.0

11 months ago