Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-telegram-firestore-message-replier

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-telegram-firestore-message-replier

Node module which allows the bot to reply to a random message in the chat

  • 1.1.1
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

node-telegram-firestore-message-replier

Build Status

Node module which allows the bot to reply to a random message in the chat.

You just set the probability between 1 and 100 and then the magic happens.

Install:

npm install node-telegram-firestore-message-replier

Use:

First create your own firestore db instance

node-telegram-firestore-message-replier initially works with node-telegram-bot-api.

const TelegramBot = require('node-telegram-bot-api');
const TelegramFirestoreMessageReplier = require('node-telegram-firestore-message-replier');

// initialize
const bot = new TelegramBot('BOT_TOKEN');
const replier = new TelegramFirestoreMessageReplier({
  bot,
  firestore: {
    credential: require('./serviceKey.json'),
    databaseUrl: 'https://YOUR_FIREBASE_URL.firebaseio.com',
    docPath: 'collection/chats'
  },
  showChanceMessage: 'Current chance is CURRENT_CHANCE%',
  setChanceMessage: 'Current chance changed from CURRENT_CHANCE% to NEXT_CHANCE%'
  // CURRENT_CHANCE and NEXT_CHANCE strings will be replaced with currentChance and nextChance values
});

// on command "/chance" will show current chance value
bot.onText(/^\/chance($|@)/, msg => {
  replier.showChance(msg);
});

// on command "/setchance 30" will set chance value to 30% to reply to the message
// command "/setchance" without value is equal to "/chance". So you can use only one command in your bot
bot.onText(/^\/chance(@.* )?(.+)?/, (msg, match) => {
  const chanceValue = match[2];

  replier.setChance(msg, chanceValue);
});

// handle each message to be ready for replying
bot.on('message', msg => {
  // process() method calculates chance for message of being replied and calls one of the callbacks
  // the chance is set previously via "/setchance <value>" command
  replier.process(
    msg,
    repliedMsg => {
      // success callback. Do something with lucky message
      bot.sendMessage(repliedMsg.chat.id, repliedMsg);
    },
    repliedMsg => {
      // error callback [optional]. Do something with unlucky message if you want
    }
  );
});

Options:

new TelegramFirestoreMessageReplier({
  bot: <your bot instance> // previously created bot via node-telegram-bot-api
  firestore: <object> // firestore db instance params
  showChanceMessage: <string> // set message for show chance command
  setChanceMessage: <string> // set message for change chance command
});

FAQs

Package last updated on 03 Dec 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc