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 🙏

© 2024 – Pkg Stats / Ryan Hefner

tgind

v2.1.4

Published

Telegram bot api which gives you simplest way to make your bots

Downloads

15

Readme

Tgind

Telegram bot api which gives you simplest way to make your bots

Telegram support group https://telegram.me/tgindApi

Tgind Updates: https://telegram.me/tgindApi

Npm: https://www.npmjs.com/package/tgind

Install it by cammand

npm i tgind

Example:

Basic template to start creating bot

Polling mode

     (If you are begginer just start by it)

JavaScript code

let {Tgind} = require('tgind');
let bot = new Tgind("Yor bot token", {"start": true});

bot.on("message", (msg) => {
    msg.send(msg.text)
})

Typescript code

import {Tgind} from 'tgind';
let bot = new Tgind("Yor bot token", {"start": true});

bot.on("message", (msg:any) => {
    msg.send(msg.text)
})

Webhook Mode

// Basic code for Webhook mode (for example vercel)

let {Tgind} = require('tgind');
let bot = new Tgind("Bot Token");

bot.on("message", (msg) => {
    msg.send(msg.text)
})

module.exports = async (req, res) => {
    bot.handleUpdate(req.body) // its important it will give updates to all listeners
    res.send('Message received');
  };

is it easy ?

More Examples

https://github.com/PanditSiddharth/Tgind/blob/main/examples/readme.md

All functios

Direct methods see in examples repo https://github.com/PanditSiddharth/Tgind/blob/main/examples/functions.md

Listnerers
bot.on(event, callbackFunction)
bot.command(commandName, callbackFunction)
bot.matches(string or regex, callbackFunction)

/*
* These all functions will starts by Tgind class instance
*   For Example 
*   let bot = new Tgind("bot token")
*   bot.send(chatid, text)
*
* Now see all written bellow
*/

Some Main functions
request(functionNameOfTelegram, FunctionOptions, headers)  // universal functiona
stop(options) // Stops bot from fetching updates  
launch(options)  // for starting bot in polling mode  
handleUpdates(update, options) // for starting by with webhook updates  

start(message)
help(message)
send(chatid, text, options)   
edit(chatid, message_id, text, options)   
del(chatid, message_id)  
mute(chatid, user_id, options)  
unmute(chatid, user_id, options)  
ban(chatid, user_id, options)  
unban(chatid, user_id, options)  
promote(chatid, user_id, options)  
demote(chatid, user_id, options)  
getMember(chatid, userid, options)  
pin(chatid, message_id, options)  
unpin(chatid, message_id, options)  
unpinAll(chatid, options)  
getChat(chatid, options)  
getMe()
getAdmins(chatid, options)  
getMemberCount(chatid, options)  
leaveChat(chatid, options)  
answerCallbackQuery(callback_query_id, options)  
approveJoinRequest(chatid, user_id, options)  
declineJoinRequest(chatid, user_id, options)  
forward(chatid, from_chat_id, message_id, options)  
copy(chatid, from_chat_id, message_id, options)  
sendPhoto(chat, Input.fromLocal(path, filename), options) // let {Tgind, Input} = require('tgind')
sendAudio(chat, Input.fromLocal(path, filename), options)  
sendVideo(chat, Input.fromLocal(path, filename), options)  
sendLocation(chat, latitude, longitude, options)  
sendDoc(chat, Input.fromLocal(path, filename), options)  
sendVenue(chat, latitude, longitude, title, address, options)  
sendLocation(chat, phone_number, first_name, options)  
sendPoll(chat, question, your_options, options)  
sendDice(chatid, options)  
exportChatInviteLink(chatid, options)  
link(chatid, options)  
revokeLink(chatid, options)  
sendAction(chatid, action, options)  
getUserProfilePhotos(user_id, options)  
getFile(file_id, options)  
deleteWebhook(optional_dropUpdates)  

// Utilities function 
util.sleep(time) // give seconds and dont forget to use await before it
util.del(mesage_id, time) // time to delete message after some seconds you can use null in place of message id if message is next incomming message
util.send(text, options or time)  // time in seconds 
util.captalize(text) // returns string compitalized example "it is a string" ouput = "It Is A String"
util.randNum(min, max) // returns number between min and max
util.deepClone(object) // deep clone the object
util.flatten(array) // flatten the array means it adds array's all elements in root 
util.pick(object, ObjectKeys) // which keys whose you want to make object

Example of use util:


import {Tgind} from 'tgind';

let bot = new Tgind("your bot token", {"start" : true});

bot.on("message", (msg, util) => {
    util.send("This message is delete in 30 seconds", {"time" : 30}) // and all other Telegrams own options by default it will delete it in 10 seconds
})

You can use request function for all telegrams functions
bot.request(your function name, function parameters)

Example:

let {Tgind} = require('tgind');
let bot = new Tgind("your bot token");

bot.on("message", (msg) => {
    bot.request("sendMessage", {"chat_id": msg.chat.id, "text": msg.text})
})

bot.launch({"dropUpdates": true});

Edit message example :

let {Tgind} = require('tgind');
let bot = new Tgind("Give here your bot token");

bot.on("message", (msg) => {
    bot.edit(<chat id>, <message id>, <your text>)
})

bot.launch({"dropUpdates": true});

sendDoc method

let {Tgind} = require('tgind')

let bot = new Tgind("Your token", {"start": true})

bot.command("doc", async (msg)=> {
    msg.sendDoc(new Input.fromLocal("./myfile.pdf", "tgindfile.pdf"))

})

You can use scenes also

let {Tgind, Scene} = require('tgind')

let hello = new Scene('hi')
hello.on("message", (msg)=> {
    msg.send('hello')

    if(msg.text == 'bye')
    msg.enter('bye')
})

let bye = new Scene('bye')
bye.on("message", (msg)=> {
    msg.send('bye')

    if(msg.text == 'nm'){
        msg.leave()
    }
    if(msg.text == 'hi'){
        msg.enter('hi')
    }
})

let bot = new Tgind(token, {"start": true, scene:[hello, bye], ttl: 20})

bot.on("message", async (msg)=> {
    msg.send('not in scene')

    if(msg.text == 'hi')
    msg.enter('hi')
})

it supports all tg functions and it is a light weight api

You can see all telegram bot api functions by this link
Example: sendMessage
https://core.telegram.org/bots/api#sendmessage

And write as it in request("sendMessage", {"chat_id": your chat id, other params})

Developer @PanditSiddharth
Git: https://github.com/PanditSiddharth/Tgind
https://Telegram.me/PanditSiddharth