JSPM

telegram-captcha

1.2.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q52550F
  • License MIT

Protect telegram groups from automated bots.

Package Exports

  • telegram-captcha
  • telegram-captcha/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (telegram-captcha) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

πŸ›‘οΈtelegram-captchaπŸ›‘οΈ

Protect telegram groups from automated bots.

Bot API npm package npm download

πŸ“™ Description

After joining/request to join a telegram group, the user is sent a captcha message, which must be completed within 5 minutes. Otherwise, the user will be banned from the group for a day.

Supported languages:

  • English
  • French
  • Russian
  • Spanish
  • Italian
  • German
  • Vietnamese

Supported Telegram bot libraries:

πŸ“¦ Install

npm i telegram-captcha

🎚️ Changelog

πŸ—Ί API

πŸš€ Usage

node-telegram-bot-api

Open group

const TOKEN = process.env.TELEGRAM_TOKEN || 'YOUR_TELEGRAM_BOT_TOKEN';

import { GroupCaptcha } from 'telegram-captcha';

const captcha = new GroupCaptcha(TOKEN, {polling: true}, {
    size: 6,
    language: 'de',
    time_for_enter: 3
});

captcha.bot.on("new_chat_members", (msg) => captcha.generateCaptcha(msg));
captcha.bot.on("callback_query", (query) => captcha.clickKeyboard(query));

Group with requests to join

const TOKEN = process.env.TELEGRAM_TOKEN || 'YOUR_TELEGRAM_BOT_TOKEN';

import { GroupCaptchaRTJ } from 'telegram-captcha';

const captcha = new GroupCaptchaRTJ(TOKEN, {polling: true}, {
    size: 5,
    language: 'es',
    time_for_enter: 7
});

captcha.bot.on("chat_join_request", (cjr) => captcha.generateCaptcha(cjr));
captcha.bot.on("callback_query", (query) => captcha.clickKeyboard(query));

βš™οΈ Default options

GroupCaptcha/GroupCaptchaRTJ

{
    size: 4,                     //Captcha length < 9 (number of characters)
    language: 'en',              //Language (en/es/de/es/fr/it)
    time_for_enter: 5            //Time for enter captcha (in minutes)
}

β˜‘οΈ Todo:

  • Captcha for an open group
  • Captcha for a group with requests to join
  • Option "size"
  • Option "ban time"
  • Option "time for enter captcha"
  • reCaptcha
  • Other types of captcha

License

The MIT License (MIT)

Copyright Β© 2023-2024 Dmitry Vyazin