switching bot.on listeners for different modules

Viewed 31

I'm creating the telegram bot, and I have question.

In app.js

const { admin } = require('./admin');
require('dotenv').config();
const token = process.env.token;
const bot = new TelegramBot(token, { polling: true });
let chatId = [];

async function startApp() {
    let restTime = await moment.tz('America/Chicago').format('hh:mm A');
    let weekend = await moment.tz('America/Chicago').day();
    console.log("start bot " + restTime);
    const nowHours = new Date().getHours()
    const restMessage = {
        text: process.env.restText
    }
    const weekendMessage = {
        text: process.env.weekendText
    }

    function startBot() {
        return bot.on('message', async(msg) => {
            if (msg.text === '/admin'){
                return admin(msg);
            }
...

and I have:

admin.js:

require('dotenv').config();
const pass = process.env.passwordAdmin

function admin(bot,msg) {
    bot.sendMessage(msg.from.id, 'Enter admin password')
    bot.onText(`${pass}`,()=>{
        bot.sendMessage(msg.from.id, "Good")
    })
}
module.exports = {admin}

error: [polling_error] {}

How I can pause the bot.on listener in app.js when I start bot.onText listener or other listener, and then, when admin end they work, return to app.js listener?

1 Answers

Me helps my friend,

const pass = new RegExp(process.env.passwordAdmin)
...
bot.onText (pass, () => {

but listener bot.on('message'..) is still working.

Related