npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

auto-answering

v0.0.4

Published

A configurable Node.js Telegram bot for Premium users that automatically replies to messages based on customizable triggers and replies, simulates typing behavior, supports multi-language responses, and logs messages for auditing.

Readme

Telegram Dynamic Responder

A robust Telegram bot that dynamically responds to messages using predefined triggers and replies. It logs messages and errors for auditing and debugging purposes and simulates real-user typing behavior before replying.

Features

  • Handles incoming Telegram webhooks for message events.
  • Simulates typing behavior before sending responses.
  • Logs all received messages into messages.log.
  • Logs all errors into errors.log.
  • Dynamic responses based on triggers defined in config.json.
  • Easily configurable via .env and config.json.

Prerequisites

  • Node.js
  • Telegram Bot Token

Installation

npm install

Configuration

  1. Create a .env file in the root directory with the following variables:
BOT_TOKEN=<your_telegram_bot_token>
OWNER_ID=<your_telegram_user_id>
WEBHOOK_URL=https://your.domain.com
PORT=3000
SAVE_LOCAL=true
  1. Customize config.json to set your triggers and replies.

Example config.json with localization support:

{
  "typingDelay": 1500,
  "languages": ["en", "ru"],
  "defaultLang": "en",
  "responses": {
    "en": [
      {
        "triggers": ["hi", "hello", "hey"],
        "replies": ["Hello! 👋", "Hi there! How can I help you?"]
      }
    ],
    "ru": [
      {
        "triggers": ["привет", "здравствуй"],
        "replies": ["Привет! 👋", "Здравствуйте! Чем могу помочь?"]
      }
    ]
  }
}

Usage

Start the bot with:

npm start

The bot will automatically set the Telegram webhook on startup.

Logs

  • Incoming messages are saved to messages.log (if enabled in .env)
  • Errors are logged into errors.log

Deployment

Ensure your server is accessible via the public URL defined in WEBHOOK_URL. Use services like Render, Railway, or Cloudflare Pages with Workers for hosting.